Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Coluna Calculada no Script

Boa tarde pessoal. Criei uma coluna calculada no meu script com base em uma sugestão que encontrei em outro tópico.

Capacidade:

LOAD * INLINE [

    CEJUSC, CAPAC_DIA

    CEJUSC-TAG, 1.350

    CEJUSC-BSB, 1.080

    CEJUSC-CEI, 1.296

    CEJUSC-FAM, 72

    CEJUSC-GUA, 324

    CEJUSC-PAR, 324

    CEJUSC-PLA, 540

    CEJUSC-SOB, 324

    CEJUSC-JEC, 2.592

    CEJUSC-AGC, 216

    CEJUSC-GAM, 324

    CEJUSC-RFU, 324

    CEJUSC-SAO, 324

    CEJUSC-BRZ, 324

    CEJUSC-EMA, 216

    CEJUSC-NUC, 324

    CEJUSC-SAM, 324

    CEJUSC-STA, 216

    CEJUSC-SUPER, 0

];

Concatenate (Capacidade)

LOAD CEJUSC,

  CAPAC_DIA,

  IF(CAPAC_DIA >= 0 AND CAPAC_DIA < 300, 'Pequeno Porte',

   IF(CAPAC_DIA >= 300 AND CAPAC_DIA < 1000, 'Medio Porte',

  IF(CAPAC_DIA >= 1000 AND CAPAC_DIA < 2000, 'Grande Porte', 'Muito Grande Porte'))) AS CLASSIFICAÇÃO

Resident Capacidade

WHERE CEJUSC <> 0

Mas minha tabela final está aparecendo com duplicidade:

   

CEJUSCCAPAC_DIACLASSIFICAÇÃO
CEJUSC-AGC216Pequeno Porte
CEJUSC-AGC216
CEJUSC-BRZ324Medio Porte
CEJUSC-BRZ324
CEJUSC-BSB1.080Grande Porte
CEJUSC-BSB1.080
CEJUSC-CEI1.296Grande Porte
CEJUSC-CEI1.296
CEJUSC-EMA216Pequeno Porte
CEJUSC-EMA216
CEJUSC-FAM72Pequeno Porte
CEJUSC-FAM72
CEJUSC-GAM324Medio Porte
CEJUSC-GAM324
CEJUSC-GUA324Medio Porte
CEJUSC-GUA324
CEJUSC-JEC2.592Muito Grande Porte
CEJUSC-JEC2.592
CEJUSC-NUC324Medio Porte
CEJUSC-NUC324
CEJUSC-PAR324Medio Porte
CEJUSC-PAR324
CEJUSC-PLA540Medio Porte
CEJUSC-PLA540
CEJUSC-RFU324Medio Porte
CEJUSC-RFU324
CEJUSC-SAM324Medio Porte
CEJUSC-SAM324
CEJUSC-SAO324Medio Porte
CEJUSC-SAO324
CEJUSC-SOB324Medio Porte
CEJUSC-SOB324
CEJUSC-STA216Pequeno Porte
CEJUSC-STA216
CEJUSC-SUPER0Pequeno Porte
CEJUSC-SUPER0
CEJUSC-TAG1.350Grande Porte
CEJUSC-TAG1.350

Gostaria que aparecesse apenas a linha superior de cada CEJUSC.

1 Solution

Accepted Solutions
paulovendruscol
Contributor

Re: Coluna Calculada no Script

Olá,

Não precisa concatenar o seu novo LOAD com a tabela Capacidade, veja exemplo:

Capacidade_TMP:

LOAD * INLINE [

    CEJUSC, CAPAC_DIA

    CEJUSC-TAG, 1.350

    CEJUSC-BSB, 1.080

    CEJUSC-CEI, 1.296

    CEJUSC-FAM, 72

    CEJUSC-GUA, 324

    CEJUSC-PAR, 324

    CEJUSC-PLA, 540

    CEJUSC-SOB, 324

    CEJUSC-JEC, 2.592

    CEJUSC-AGC, 216

    CEJUSC-GAM, 324

    CEJUSC-RFU, 324

    CEJUSC-SAO, 324

    CEJUSC-BRZ, 324

    CEJUSC-EMA, 216

    CEJUSC-NUC, 324

    CEJUSC-SAM, 324

    CEJUSC-STA, 216

    CEJUSC-SUPER, 0

];

NoConcatenate

Capacidade:

LOAD CEJUSC,

  CAPAC_DIA,

  IF(CAPAC_DIA >= 0 AND CAPAC_DIA < 300, 'Pequeno Porte',

   IF(CAPAC_DIA >= 300 AND CAPAC_DIA < 1000, 'Medio Porte',

  IF(CAPAC_DIA >= 1000 AND CAPAC_DIA < 2000, 'Grande Porte', 'Muito Grande Porte'))) AS CLASSIFICAÇÃO

Resident Capacidade_TMP

WHERE CEJUSC <> 0;

DROP Table Capacidade_TMP;

3 Replies
klaus_gibin
New Contributor II

Re: Coluna Calculada no Script

Marina,

A primeira tabela deve ser dropada, ela serve apenas de auxiliar..
Deixe assim:

Capacidade:

LOAD * INLINE [

    CEJUSC, CAPAC_DIA

    CEJUSC-TAG, 1.350

    CEJUSC-BSB, 1.080

    CEJUSC-CEI, 1.296

    CEJUSC-FAM, 72

    CEJUSC-GUA, 324

    CEJUSC-PAR, 324

    CEJUSC-PLA, 540

    CEJUSC-SOB, 324

    CEJUSC-JEC, 2.592

    CEJUSC-AGC, 216

    CEJUSC-GAM, 324

    CEJUSC-RFU, 324

    CEJUSC-SAO, 324

    CEJUSC-BRZ, 324

    CEJUSC-EMA, 216

    CEJUSC-NUC, 324

    CEJUSC-SAM, 324

    CEJUSC-STA, 216

    CEJUSC-SUPER, 0

];

NoConcatenate

CapacidadeFinal:

LOAD CEJUSC,

  CAPAC_DIA,

  IF(CAPAC_DIA >= 0 AND CAPAC_DIA < 300, 'Pequeno Porte',

   IF(CAPAC_DIA >= 300 AND CAPAC_DIA < 1000, 'Medio Porte',

  IF(CAPAC_DIA >= 1000 AND CAPAC_DIA < 2000, 'Grande Porte', 'Muito Grande Porte'))) AS CLASSIFICAÇÃO

Resident Capacidade

WHERE CEJUSC <> 0

drop table Capacidade;

paulovendruscol
Contributor

Re: Coluna Calculada no Script

Olá,

Não precisa concatenar o seu novo LOAD com a tabela Capacidade, veja exemplo:

Capacidade_TMP:

LOAD * INLINE [

    CEJUSC, CAPAC_DIA

    CEJUSC-TAG, 1.350

    CEJUSC-BSB, 1.080

    CEJUSC-CEI, 1.296

    CEJUSC-FAM, 72

    CEJUSC-GUA, 324

    CEJUSC-PAR, 324

    CEJUSC-PLA, 540

    CEJUSC-SOB, 324

    CEJUSC-JEC, 2.592

    CEJUSC-AGC, 216

    CEJUSC-GAM, 324

    CEJUSC-RFU, 324

    CEJUSC-SAO, 324

    CEJUSC-BRZ, 324

    CEJUSC-EMA, 216

    CEJUSC-NUC, 324

    CEJUSC-SAM, 324

    CEJUSC-STA, 216

    CEJUSC-SUPER, 0

];

NoConcatenate

Capacidade:

LOAD CEJUSC,

  CAPAC_DIA,

  IF(CAPAC_DIA >= 0 AND CAPAC_DIA < 300, 'Pequeno Porte',

   IF(CAPAC_DIA >= 300 AND CAPAC_DIA < 1000, 'Medio Porte',

  IF(CAPAC_DIA >= 1000 AND CAPAC_DIA < 2000, 'Grande Porte', 'Muito Grande Porte'))) AS CLASSIFICAÇÃO

Resident Capacidade_TMP

WHERE CEJUSC <> 0;

DROP Table Capacidade_TMP;

Employee
Employee

Re: Coluna Calculada no Script

Você pode fazer usando um resident

Capacidade:

LOAD CEJUSC,

  CAPAC_DIA,

  IF(CAPAC_DIA >= 0 AND CAPAC_DIA < 300, 'Pequeno Porte',

   IF(CAPAC_DIA >= 300 AND CAPAC_DIA < 1000, 'Medio Porte',

  IF(CAPAC_DIA >= 1000 AND CAPAC_DIA < 2000, 'Grande Porte', 'Muito Grande Porte'))) AS CLASSIFICAÇÃO

WHERE CEJUSC <> 0;

LOAD * INLINE [

    CEJUSC, CAPAC_DIA

    CEJUSC-TAG, 1.350

    CEJUSC-BSB, 1.080

    CEJUSC-CEI, 1.296

    CEJUSC-FAM, 72

    CEJUSC-GUA, 324

    CEJUSC-PAR, 324

    CEJUSC-PLA, 540

    CEJUSC-SOB, 324

    CEJUSC-JEC, 2.592

    CEJUSC-AGC, 216

    CEJUSC-GAM, 324

    CEJUSC-RFU, 324

    CEJUSC-SAO, 324

    CEJUSC-BRZ, 324

    CEJUSC-EMA, 216

    CEJUSC-NUC, 324

    CEJUSC-SAM, 324

    CEJUSC-STA, 216

    CEJUSC-SUPER, 0

];