Este documento discute os conceitos de Canonical Date e AsOf Table para modelagem de dados. Canonical Date permite integrar datas de diferentes tabelas em um único calendário, enquanto AsOf Table representa datas de/para para criar métricas acumuladas ou do mês anterior. O documento explica como implementar essas técnicas com exemplos de códigos e fluxos de modelagem de dados.
6. Canonical Date
• É um conceito, de modelagem de dados, para integrar
várias datas, de tabelas diferentes ou não, em um único
Calendário. Possibilitando a utilização de um único
campo de data, no eixo do gráfico, para representar
várias métricas diferentes.
7. Canonical Date
• Três tabelas fato com as suas respectivas datas:
• Pedido – Data de emissão do pedido;
• Nota Fiscal – Data de emissão da nota fiscal;
• Entrega – Data da entrega (frete).
10. Canonical Date
Eu gostaria de visualizar, em uma
mesma tabela, quantas emissões
de pedidos, notas fiscais emitidas
e entregas foram realizadas no
mesmo mês selecionado!
16. Canonical Date
• Lembre-se que, para você saber com qual tabela a sua
“Data Bridge” vai se ligar, idenfique qual o elo de ligação
retornará um valor para cada uma das datas.
17. Canonical Date
• Um pedido é criado com uma data de emissão, através
deste pedido, foi gerada uma nota fiscal (que possui
uma data de emissão) e esta nota fiscal possui uma
entrega.
Pedido -> Nota Fiscal -> Entrega
19. Canonical Date
• Através desta chave de ligação, criaremos uma tabela
chamada de “Data Bridge” que será a “ponte” com o
nosso calendário unificado.
• A “Data Bridge” será a união das datas, de forma
organizada, das três tabelas: Pedido, Nota Fiscal e
Entrega.
20. Canonical Date
• A “Data Bridge” deve conter apenas três assuntos:
• A chave (Chave_PedidoNotaFiscal);
• As colunas de datas (que terá o seu nome
normalizado);
• A coluna identificador (que define a origem da data).
25. Canonical Date
• A tabela “Entrega”, não possui a coluna de elo, mas
podemos “chegar” no pedido através da coluna [Número
da Nota Fiscal]. Da tabela “Nota Fiscal”, chegaremos na
coluna de elo: [Chave_PedidoNotaFiscal].
34. Canonical Date
COUNT(DISTINCT {<Origem = {Pedido}>} [Id do Pedido])
SUM({<Origem = {Pedido}>} [Quantidade Produto])
SUM({<Origem = {NotaFiscal}>} Valor)
COUNT(DISTINCT {<Origem = {Entrega}>} [Data da Entrega])
Pedidos Emitidos
Volume Vendido
Valor Faturado
Quantidade de Entregas
35. Canonical Date
• Mas quando devemos utilizar este conceito? Quando
precisamos ter apenas uma data, no eixo do gráfico,
para exibir as duas métricas que referenciam datas
diferentes.
36. Canonical Date
• É melhor usar Canonical Date ou vários calendários (um
para cada data)?
• R: Depende!!! de cada situação, mas existem casos que
precisamos ter as duas opções!
38. Canonical Date
CALL CriaCalendario('Data do Pedido','Calendario Pedido','Pedido');
CALL CriaCalendario('Data da Nota Fiscal','Calendario Nota Fiscal','NotaFiscal');
CALL CriaCalendario('Data da Entrega','Calendario Entrega','Entrega');
40. AsOf Table
• É um conceito, de modelagem de dados, para
representar de/para de datas, por exemplo, criar
acumulados padronizados, mostrar números do mês
anterior no mês selecionado, etc.
41. AsOf Table
• Existem casos, de utilização da AsOf Table, que podem
ser substiuídos por Set Analysis, mas alguns não,
principalmente aqueles em que a data esteja no eixo do
gráfico.
50. AsOfTable
• Uma tabela AsOf, precisa de quatro conjuntos de
informações:
• Os campos selecionáveis;
• Os campos utilizados nas dimensões dos gráficos;
• Os identificadores (A regra do AsOf);
• O campo de chave com o seu modelo.
69. Nome: Yuri Nicolett
Email: yuri.nicolett@gmail.com
Consultor especialista Qlik, MVP e palestrante.
Atua no mercado de BI desde 2010 com implementações de soluções Qlik
em clientes de todos os portes e de diversos ramos.
Atualmente trabalha na Inteligência de Negócios (Master Reseller Qlik) e
Analizze.
Obrigado!