Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
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