Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
Yikes! We're aware of some unexpected text appearing at the top of each group and are looking into it.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Load * From * Group By * não funciona

Olá pessoal, boa tarde.

Estou tentando usar o comando "group by" como escrito abaixo, mas ao recarregar sempre recebo "expressão inválida". Alguém consegue enxergar qual é o erro? Já olhei todas as primeiras sugestões do google para resolver ou usar o comando, mas não consigo aplicar ao meu código:

XXXXXX:

LOAD Beneficiário AS BENEFICIARIO,

     Matrícula AS MATRICULA,

     Plano AS PLANO_FS,

     IF(Tipo='T','TITULAR',IF(Tipo='D','DEPENDENTE')) AS TIPO,

     Idade AS IDADE_FS,

     Dependência AS DEPENDENCIA_FS,

     [Co-Participacao] AS COPART_FS,

     Mensalidade AS MENSALIDADE_FS,

     'XXXXXX' AS OPERADORA,

     SUM([Co-Participacao]) AS COPARTICIPACAO,

     SUM(Mensalidade) AS MENSALIDADE

FROM

[..\XXXXXX.xlsx]

(ooxml, embedded labels, table is [Analitico])

GROUP BY Matrícula,Beneficiário,Tipo;

STORE XXXXXXINTO [.\XXXXXX.QVD](QVD);

Agradeço imensamente a ajuda!

Labels (3)
1 Solution

Accepted Solutions
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, segue exemplo;

temp_XXXXXX:

LOAD Beneficiário AS BENEFICIARIO,

    Matrícula AS MATRICULA,

    Plano AS PLANO_FS,

    IF(Tipo='T','TITULAR',IF(Tipo='D','DEPENDENTE')) AS TIPO,

    Idade AS IDADE_FS,

    Dependência AS DEPENDENCIA_FS,

    [Co-Participacao] AS COPART_FS,

    Mensalidade AS MENSALIDADE_FS,

    'XXXXXX' AS OPERADORA,

    [Co-Participacao],

    Mensalidade

FROM  [..\XXXXXX.xlsx] (ooxml, embedded labels, table is [Analitico]) ;

XXXXXX:

LOAD BENEFICIARIO,

    MATRICULA,

    PLANO_FS,

    TIPO,

    IDADE_FS,

    DEPENDENCIA_FS,

    COPART_FS,

    MENSALIDADE_FS,

    OPERADORA,

    SUM([Co-Participacao]) AS COPARTICIPACAO,

    SUM(Mensalidade) AS MENSALIDADE

Resident temp_XXXXXX

GROUP BY BENEFICIARIO,MATRICULA,PLANO_FS,TIPO,IDADE_FS,DEPENDENCIA_FS,COPART_FS,MENSALIDADE_FS,OPERADORA;

STORE XXXXXX INTO [.\XXXXXX.QVD](QVD);

Drop Tables temp_XXXXXX, XXXXXX;

Obs.: Os campos/atributos sem função de agrupamento (Ex.: Count(), Sum(), Concat()...), deverão estar declarado na estrutura do Group By.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti

View solution in original post

4 Replies
sunny_talwar

Try this

XXXXXX:

LOAD Beneficiário AS BENEFICIARIO,

    Matrícula AS MATRICULA,

    Plano AS PLANO_FS,

    IF(Tipo='T','TITULAR',IF(Tipo='D','DEPENDENTE')) AS TIPO,

    Idade AS IDADE_FS,

    Dependência AS DEPENDENCIA_FS,

    [Co-Participacao] AS COPART_FS,

    Mensalidade AS MENSALIDADE_FS,

    'XXXXXX' AS OPERADORA,

    SUM([Co-Participacao]) AS COPARTICIPACAO,

    SUM(Mensalidade) AS MENSALIDADE

FROM

[..\XXXXXX.xlsx]

(ooxml, embedded labels, table is [Analitico])

GROUP BY Matrícula, Beneficiário, Tipo, Plano,  Idade, Dependência, [Co-Participacao], Mensalidade;

STORE XXXXXXINTO [.\XXXXXX.QVD](QVD);

felipedl
Partner - Specialist III
Partner - Specialist III

A expressão dá inválida pois seu group by não contempla todos os campos da tabela que você está carregando.

Nesse caso, fazer algo do tipo:

  1. XXXXXX: 
  2. LOAD Beneficiário AS BENEFICIARIO, 
  3.      Matrícula AS MATRICULA, 
  4.      Plano AS PLANO_FS, 
  5.      IF(Tipo='T','TITULAR',IF(Tipo='D','DEPENDENTE')) AS TIPO, 
  6.      Idade AS IDADE_FS, 
  7.      Dependência AS DEPENDENCIA_FS, 
  8.      [Co-Participacao] AS COPART_FS, 
  9.      Mensalidade AS MENSALIDADE_FS, 
  10.      'XXXXXX' AS OPERADORA, 
  11.      SUM([Co-Participacao]) AS COPARTICIPACAO, 
  12.      SUM(Mensalidade) AS MENSALIDADE 
  13. FROM 
  14. [..\XXXXXX.xlsx] 
  15. (ooxml, embedded labels, table is [Analitico]) 
  16. GROUP BY Matrícula,Beneficiário,Tipo,Plano,Tipo,Idade,Dependência,[Co-Participacao],Mensalidade,'XXXXXX';
  17. STORE XXXXXXINTO [.\XXXXXX.QVD](QVD); 
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, segue exemplo;

temp_XXXXXX:

LOAD Beneficiário AS BENEFICIARIO,

    Matrícula AS MATRICULA,

    Plano AS PLANO_FS,

    IF(Tipo='T','TITULAR',IF(Tipo='D','DEPENDENTE')) AS TIPO,

    Idade AS IDADE_FS,

    Dependência AS DEPENDENCIA_FS,

    [Co-Participacao] AS COPART_FS,

    Mensalidade AS MENSALIDADE_FS,

    'XXXXXX' AS OPERADORA,

    [Co-Participacao],

    Mensalidade

FROM  [..\XXXXXX.xlsx] (ooxml, embedded labels, table is [Analitico]) ;

XXXXXX:

LOAD BENEFICIARIO,

    MATRICULA,

    PLANO_FS,

    TIPO,

    IDADE_FS,

    DEPENDENCIA_FS,

    COPART_FS,

    MENSALIDADE_FS,

    OPERADORA,

    SUM([Co-Participacao]) AS COPARTICIPACAO,

    SUM(Mensalidade) AS MENSALIDADE

Resident temp_XXXXXX

GROUP BY BENEFICIARIO,MATRICULA,PLANO_FS,TIPO,IDADE_FS,DEPENDENCIA_FS,COPART_FS,MENSALIDADE_FS,OPERADORA;

STORE XXXXXX INTO [.\XXXXXX.QVD](QVD);

Drop Tables temp_XXXXXX, XXXXXX;

Obs.: Os campos/atributos sem função de agrupamento (Ex.: Count(), Sum(), Concat()...), deverão estar declarado na estrutura do Group By.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Você foi mais rápido, rsrs

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti