Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Tudo bem?
Tenho três tabelas para carregar no Qlik Sense e poder fazer gráficos tendo como dimensão um campo com Datas.
Cada tabela tem um campo de data com estatísticas de três itens cada. As datas estão no formato YYYY-MM. Mas no arquivo original Excel elas estão na linha de nome dos campos. Ou seja, para criar o campo de data, na hora que vou carregar as tabelas, eu aplico a opção de Girar para que as datas fiquem em apenas uma coluna.
Assim, eu carrego as três tabelas separadamente e giro cada uma para criar uma coluna de datas em cada.
As três tabelas podem ser associadas por um campo com um código. Acontece que eu gostaria de fazer gráficos onde a dimensão fosse a Data. Entretanto, se faço o gráfico e escolho a dimensão de data de uma das tabelas, então as datas das outras tabelas são ignoradas e o gráfico não funciona como eu gostaria.
A questão é, como eu posso fazer gráficos com dimensão de data que possa mostrar dados de duas ou três tabelas simultaneamente?
Sergio,
Partindo do suposto que você não tenha problema em usar o crosstable, considerando assim que suas tabelas já estejam com as datas em colunas, podes usar o conceito que apliquei no app em anexo. A ideia é usar o Canonical Canlendar.
Funciona bem para o que você precisa.
Abs e Sucesso!!
Meus dados são carregados de arquivos Excel.
O que você está sugerindo é que eu altere o script de carregamento de dados e insira esse script que você disponibilizou? (precisa ser editado, correto?)
O app enviado apenas "orienta" a execução do canonical calendar. Mas sua fonte de dados pode continuar a mesma. Veja como ficaria seu caso, por exemplo:
// Aqui você carrega as suas três tabelas. As que contém as datas e as concatena.
TABELA_A:
LOAD
SEUS_CAMPOS,
DATA_A
FROM SEU_EXCEL_A;
Concatenate
LOAD
SEUS_CAMPOS,
DATA_B
FROM SEU_EXCEL_B;
Concatenate
LOAD
SEUS_CAMPOS,
DATA_C
FROM SEU_EXCEL_C;
// Aqui carrego todos os campos concatenados e crio uma chave que será usada para lincar com a tabela de calendário
TABELA_FINAL:
LOAD Distinct
Autonumber(DATA_A&DATA_B&DATA_C) AS ID_CALENDARIO,
*
RESIDENT TABELA_A;
DROP TABLE TABELA_A;
DATA_PONTE:
LOAD
ID_CALENDARIO,
DATA_A AS CanonicalDate,
'CAMPO_A' AS DateType
RESIDENT TABELA_FINAL;
LOAD
ID_CALENDARIO,
DATA_B AS CanonicalDate,
'CAMPO_B' AS DateType
RESIDENT TABELA_FINAL;
LOAD
ID_CALENDARIO,
DATA_C AS CanonicalDate,
'CAMPO_C' AS DateType
RESIDENT TABELA_FINAL;
CANONICAL_CALENDAR:
LOAD
CanonicalDate,
year(CanonicalDate) AS CanonicalAno,
month(CanonicalDate) AS CanonicalMes
RESIDENT DATA_PONTE;
Substitua no script acima usando as informações de sua base (nomes de tabelas e campos, por exemplo). Qualquer dificuldade me avise que tento te ajudar.
Abs e Sucesso!!
Uma informação que talvez não tenha dito antes:
Tenho 3 tabelas, A, B e C. no caso, eu concatenei as tabelas B e C, mas a tabela A eu prefiro deixá-la separada, pois não tem muito a ver com a B e a C. As três tabelas se comunicam apenas por um campo código e cada uma tem uma tabela de datas.
Nesse caso que você explicou, faço do mesmo jeito, exceto que não concateno a primeira vez, correto?
Vou tentar aqui e depois posto resultados.
Obrigado pelas informações valiosas!
EDIT: Não consegui editar o script de forma que a tabela A não seja concatenadas com as tabelas B e C. Pois não sei como seria criada a chave ID_CALENDARIO nesse caso. Você sabe como poderia ser feito?
Sergio, a maneira mais simples seria concatenar as suas três tabelas, mesmo que os assuntos não sejam os mesmos.
Crie um campo de flag, para cada tabela, que identifique a sua origem.
Eu até tentei concatenar as três tabelas pelo gerenciador do próprio Qlik Sense. Mas não funcionou, houve um erro.
Acredito que deva haver um bug nele, pois ao concatenar a terceira tabelas às outras duas (já concatenadas), o Qlik Apresenta um erro no editor de scripts (que é gerado automaticamente).
O gerador automático de scripts tá causando um bug, ele cria umas tabelas intermediárias e depois dá um erro dizendo que uma tabelas não foi encontrada. Só pode ser um bug, pois não editei nenhum script, apenas usei a opção de concatenar do gerenciador de dados do Qlik Sense. Não poderia dar esse erro.