Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 Despesa | Unidade Gestora | Lançamento Futuro |
---|---|---|
Investimentos | SECOM | R$1000,00 |
Despesas Correntes | DETEC | R$500,00 |
Despesas Correntes | CENIN | R$750,00 |
Despesas Correntes | DEFIN | R$1500,00 |
Investimentos | DEFIN | R$5000,00 |
Tabela Destino
Grupo de Despesa | Unidade Gestora | Item de Gasto | Valor |
---|---|---|---|
Investimentos | CODEC | Despesa Empenhada | R$100,00 |
Despesas Correntes | DEFIN | Despesa Empenhada | R$200,00 |
Pessoal e Encargos | DEPES | Despesa Paga | R$150,00 |
Despesas Correntes | COHAB | Despesa Empenhada | R$1000,00 |
Investimentos | DG | Despesa Autorizada | R$10000,00 |
Investimentos | DIRAD | Despesa Liquidada | R$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 Despesa | Unidade Gestora | Item de Gasto | Valor |
---|---|---|---|
Investimentos | CODEC | Despesa Empenhada | R$100,00 |
Despesas Correntes | DEFIN | Despesa Empenhada | R$200,00 |
Pessoal e Encargos | DEPES | Despesa Paga | R$150,00 |
Despesas Correntes | COHAB | Despesa Empenhada | R$1000,00 |
Investimentos | DG | Despesa Autorizada | R$10000,00 |
Investimentos | DIRAD | Despesa Liquidada | R$50,00 |
Investimentos | SECOM | Lançamento Futuro | R$1000,00 |
Despesas Correntes | DETEC | Lançamento Futuro | R$500,00 |
Despesas Correntes | CENIN | Lançamento Futuro | R$750,00 |
Despesas Correntes | DEFIN | Lançamento Futuro | R$1500,00 |
Investimentos | DEFIN | Lançamento Futuro | R$5000,00 |
Agradeço desde já!
Gustavo Veloso Martins
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!!
Resultado:
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?
Gustavo,
Se você puder, poste o qvf pra eu analisar. De fato, provavelmente teremos mexer nas expressões sim.
Abs e Sucesso!!
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
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!
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;
Caro Thiago,
Tua solução funcionou perfeitamente!
Muitíssimo obrigado.
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?