Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
junior_ehlke
Creator III
Creator III

Desenvolvimento de DRE - Dúvida

Bom dia, tenho uma duvida para criação de uma DRE.

Tenho na tabela1, o numero de uma conta e as suas contas vinculadas, e na tabela2 o numero da conta e seus valores separados por ponto e virgula.

exemplo:

Tabela1

ContaVinculadas
3800238002;38003;38004

Tabela2

ContaValor
38002R$           100,00
38003R$           120,00
38004R$           300,00

Ao escolher a conta 38002 da tabela 1, preciso que me retorne a soma das contas vinculadas na tabela dois, estou fazendo isso com um gráfico de tabela dinâmica. Alguma sugestão?

Labels (2)
1 Solution

Accepted Solutions
fernando_tonial
Partner - Specialist
Partner - Specialist

Tenta assim:

Tabela1:

LOAD

  Conta as ContaP,

  SubField(Vinculadas,';') As ContaF

FROM

Pasta1.xlsx

(ooxml, embedded labels, table is Plan1);

Abraços.

Tonial.

Don't Worry, be Qlik.

View solution in original post

11 Replies
junior_ehlke
Creator III
Creator III
Author

talvez fazer alguma junção no prorio SQL na criação do arquivo QVD nao ficaria mais facil?

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, você pode utilizar a função Subfield.

Veja exemplo abaixo:

Tabela1:

LOAD Conta as ContaP, SubField(Vinculadas,';') As ContaF INLINE [

    Conta, Vinculadas

    38002, 38002;38003;38004

];

Tabela2:

LOAD * INLINE [

    ContaF, Valor

    38002, 100

    38003, 120

    38004, 300

];

Abraços.

Tonial.

Don't Worry, be Qlik.
junior_ehlke
Creator III
Creator III
Author

Obrigado pela dica Fernando, mas não são campos fixos, os campos contas vinculadas da tabela 1 pode ser alterado, ou seja, acrescentado ou retirado contas, assim como os valores, com esta função os valores ficam fixos.

fernando_tonial
Partner - Specialist
Partner - Specialist

Da forma que coloquei anteriormente fica dinâmico conforme o cadastro de contas armazenado em algum lugar, por exemplo banco de dados ou arquivo xls.

Explique mais sobre a situação de seus dados e a real necessidade.

Abraços.

Tonial.

Don't Worry, be Qlik.
junior_ehlke
Creator III
Creator III
Author

Não consegui imaginar como que ficaria este comando inline sem ser fixo,

tabela1:

LOAD conta as contap, subfield(vinculadas,';') as contaf INLINE [

    conta, vinculadas

    ;

Esse codigo esta bem errado hehe

rogerioqv
Creator II
Creator II

Hamilton,

Tudo vai depender da sua origem... se você usar um inline, terás que alterar o script a cada vez que mudar as contas vinculadas. Entretanto, se elas estiverem em uma planilha ou banco de dados, cada vez que o documento efetuar uma carga, ele vai ler novamente a função e estará tudo no seu devido lugar...

Agora não entendi, suas contas contábeis mudam de totalizadoras no DRE constantemente??

junior_ehlke
Creator III
Creator III
Author

Sim, isto que eu entendi, se eu usar o inline será um campo fixo, porém eu preciso que seja lido direto do banco, para caso seja criado uma conta nova, o usuário incluir esta conta no sistema ERP e aparecer automaticamente sem que precise ficar dando este tipo de manutenção no BI. Ainda não sei como fazer. Estou usando arquivos .qvd para cada tabela.

fernando_tonial
Partner - Specialist
Partner - Specialist

Tenta assim:

Tabela1:

LOAD

  Conta as ContaP,

  SubField(Vinculadas,';') As ContaF

FROM

Pasta1.xlsx

(ooxml, embedded labels, table is Plan1);

Abraços.

Tonial.

Don't Worry, be Qlik.
junior_ehlke
Creator III
Creator III
Author

Muito Obrigado, meu exemplo ficou assim:

Tabela1: 

LOAD 

  conta as ContaP, 

  SubField(vinculadas,';') As ContaF 

FROM

C:\Users\Junior\Desktop\Pasta1.xlsx

(ooxml, embedded labels, table is Plan1);

LOAD conta as ContaF,

     valor

FROM

C:\Users\Junior\Desktop\Pasta2.xlsx

(ooxml, embedded labels, table is Plan1);

Acredito que vou conseguir aplicar no meu projeto. Abraço e Novamente obrigado.