Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Menor Valor da Raiz do CPFCNPJ

Boa tarde.

Estou criando um painel onde preciso informar a raiz do campo CPFCNPJ. A raiz consiste nos oito primeiros caracteres do campo CPFCNPJ. Até aqui tudo bem, já tenho o campo chamado CPFCNPJ_RAIZ.

EXEMPLO:

CPFCNPJ = 08.546.655/0001-54;

Raiz = 08546655;

Filial = 0001;

A questão é que com isso, ocorreu repetições pois tem empresas com várias filiais e conforme o gestor, basta que seja selecionado apenas o menor CPFCNPJ onde no caso é o chamado "mil de ré" no CNPJ exemplo apenas o 0001 resolveria o caso. Entretanto, nem todas as empresas cadastradas na base de dados tem o "mil de ré" (Nº da Filial), ou seja, tem vários outros valores nesta posição:

Raiz: 07954868

Filial: 0019    = CNPJ 07954868001955    

Filial: 0056    = CNPJ 07954868005634

Filial: 0194    = CNPJ 07954868019476

No caso acima, apenas o CNPJ 07954868001955, com diferencial 0019 deve ser carregado.

Como resolver isso via LOAD?

Grande abraço e obrigado.

1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

Talvez atenda:

T:

LOAD * INLINE [

    CNPJ

    07954868001955    

    07954868005634

    07954868019476

];

LOAD

  LEFT(CNPJ,8) AS RAIZ,

  LEFT(MIN(RIGHT(CNPJ,6)),4) AS FILIAL

Resident T

gROUP BY LEFT(CNPJ,8)

View solution in original post

4 Replies
maiconmello
Creator III
Creator III

Você pode buscar left(cnpj,12) vai buscar as 12 primeiras posições.

Ou se quer carregar separado , mid(CNPJ,8,4) as Filial.

Atenciosamente

Clever_Anjos
Employee
Employee

Talvez atenda:

T:

LOAD * INLINE [

    CNPJ

    07954868001955    

    07954868005634

    07954868019476

];

LOAD

  LEFT(CNPJ,8) AS RAIZ,

  LEFT(MIN(RIGHT(CNPJ,6)),4) AS FILIAL

Resident T

gROUP BY LEFT(CNPJ,8)

Anonymous
Not applicable
Author

Grande Clever, muito obrigado.

Só fiz uma alteração na sua fórmula

T:

LOAD * INLINE [

    CNPJ

    07954868001955   

    07954868005634

    07954868019476

];

LOAD

  LEFT(CNPJ,8) AS RAIZ,

  MIN(MID(CNPJ,9,4)) AS FILIAL

Resident T

gROUP BY LEFT(CNPJ,8)

E funcionou direitinho.

Mais uma vez obrigado.

Anonymous
Not applicable
Author

Maicon, obrigado pela ajuda.

Mas eu já trago o falor da filial, que seria MID(CNPJ,9,4), mas isso não restringe a carga apenas para a raiz da matriz.

De qualquer forma, obrigado pela tentativa e atenção.