Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
gustavovm
Contributor III
Contributor III

Lançar um campo de uma tabela em outra

Pessoal,

Estou começando no Qlik. Nos Paineis, até que faço minhas brincadeiras, mas quando o assunto é manipulação dos dados via script, aí o bicho pega, porque sou uma negação nessa parte mais de desenvolvedor. Mas enfim, tenho duas tabelas como fontes de dados carregadas em meu projeto. Preciso pegar um campo de uma tabela e lançar na outra, mas com a seguinte condição: na tabela destino, ele deixa de ser campo. Exemplifico a seguir com dados hipotéticos:

Tabela Origem:

Grupo de DespesaUnidade GestoraLançamento Futuro
InvestimentosSECOMR$1000,00
Despesas CorrentesDETECR$500,00
Despesas CorrentesCENINR$750,00
Despesas CorrentesDEFINR$1500,00
InvestimentosDEFINR$5000,00

Tabela Destino

Grupo de DespesaUnidade GestoraItem de GastoValor
InvestimentosCODECDespesa EmpenhadaR$100,00
Despesas CorrentesDEFINDespesa EmpenhadaR$200,00
Pessoal e EncargosDEPESDespesa PagaR$150,00
Despesas CorrentesCOHABDespesa EmpenhadaR$1000,00
InvestimentosDGDespesa AutorizadaR$10000,00
InvestimentosDIRADDespesa LiquidadaR$50,00

Um detalhe: já criei variáveis e itens mestres a partir das tabelas origem e destino. O receio que tenho é, ao fazer essa operação, as variáveis que criei utilizando a métrica "Lançamento Futuro" se percam, já que de ele deixa de ser métrica e se transforma em uma dimensão. A tabela resultante que preciso encontra-se a seguir. Os itens em vermelho são aqueles que foram introduzidos. Repare que o Lançamento Futuro, antes uma métrica, transformou-se um uma dimensão nessa nova tabela.

Tabela Resultante

Grupo de DespesaUnidade GestoraItem de GastoValor
InvestimentosCODECDespesa EmpenhadaR$100,00
Despesas CorrentesDEFINDespesa EmpenhadaR$200,00
Pessoal e EncargosDEPESDespesa PagaR$150,00
Despesas CorrentesCOHABDespesa EmpenhadaR$1000,00
InvestimentosDGDespesa AutorizadaR$10000,00
InvestimentosDIRADDespesa LiquidadaR$50,00
InvestimentosSECOMLançamento FuturoR$1000,00
Despesas CorrentesDETECLançamento FuturoR$500,00
Despesas CorrentesCENINLançamento FuturoR$750,00
Despesas CorrentesDEFINLançamento FuturoR$1500,00
InvestimentosDEFINLançamento FuturoR$5000,00

Agradeço desde já!

Gustavo Veloso Martins

10 Replies
Thiago_Justen_

Uma solução seria essa:

Tabela_Origem:

LOAD

    "Grupo de Despesa",

    "Unidade Gestora",

    'Lançamento Futuro' as [Item de Gasto],

    "Lançamento Futuro" as Valor

FROM [lib://Desktop/tabela_origem.txt]

(txt, codepage is 28591, embedded labels, delimiter is '\t', msq);


//Tabela_Destino:

Concatenate (Tabela_Origem)

LOAD

    "Grupo de Despesa",

    "Unidade Gestora",

    "Item de Gasto",

    Valor

FROM [lib://Desktop/tabela_destino.txt]

(txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

Rename Table Tabela_Origem to Tabela_Resultado;

    

O que fiz e considero uma solução para o seu caso está em negrito...


Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Resultado:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
gustavovm
Contributor III
Contributor III
Author

Muito bom Thiago. Você só me salvando! Na segunda-feira testarei essa solução. Mas repare que eu possuo variáveis e expressões criadas a partir de campos da tabela origem, entre eles o campo "Lançamento Futuro". Será que, ao processar essa solução, terei que refazer aquelas equações? Em outras palavras: A "tabela origem" se perde ou é criada uma nova tabela?

Thiago_Justen_

Gustavo,

Se você puder, poste o qvf pra eu analisar. De fato, provavelmente teremos  mexer nas expressões sim.

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
gustavovm
Contributor III
Contributor III
Author

Amanhã irei aplicar a tua solução. Se eu tiver que mexer em expressões, creio que será apenas na expressão do Lançamento Futuro, a qual passou de métrica para um dos itens de uma dimensão. Os demais campos referenciados nas expressões já estão no formato de dimensão. Acho que para mim valerá o investimento.

Tentarei dar um feedback para você ainda amanhã. Mas acho que vai dar certo.

Um abraço!

Gustavo

gustavovm
Contributor III
Contributor III
Author

Bom dia Thiago,

A tua solução rodou, mas uma das equações não está funcionando porque falta uma coluna na tabela origem a qual eu não havia prestado atenção. Trata-se do campo "Métrica", que existe na tabela de destino mas não na de origem. Preciso desse campo porque é utilizado nas equações e, na porção concatenada oriunda da tabela de origem, o campo assume um valor nulo "-".

Além de criar o campo "Métrica" na tabela origem, preciso que todos os registros nesse campo sejam preenchidos com o seguinte texto "Saldo (Item de Informação)".

Tem ideia de como fazê-lo??

Obrigado mais uma vez!

Thiago_Justen_

Seria isso talvez:

Tabela_Origem:

LOAD

    "Grupo de Despesa",

    "Unidade Gestora",

    'Lançamento Futuro' as [Item de Gasto],

    "Lançamento Futuro" as Valor,

    'Saldo (Item de Informação)' as Metrica

FROM [lib://Desktop/tabela_origem.txt]

(txt, codepage is 28591, embedded labels, delimiter is '\t', msq);


//Tabela_Destino:

Concatenate (Tabela_Origem)

LOAD

    "Grupo de Despesa",

    "Unidade Gestora",

    "Item de Gasto",

    Valor,

    Metrica

FROM [lib://Desktop/tabela_destino.txt]

(txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

Rename Table Tabela_Origem to Tabela_Resultado;

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
gustavovm
Contributor III
Contributor III
Author

Caro Thiago,

Tua solução funcionou perfeitamente!

Muitíssimo obrigado.

Thiago_Justen_

Perfeito Gustavo,

Não esqueça de marcar a resposta como correta e assim fecharmos o tópico.

Na dúvida de como fazer isso veja o item 2.3 do Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago