Criando tabela dCalendário em 6 passos
Citação de Rafael Lemos em 11/03/2020, 15:12Quando iniciei minha jornada no Power BI não entendia muito bem o motivo de criar uma tabela calendário, já que no arquivo de Excel que importava para o pbix continha a data do Fato.
Mesmo assim, eu comecei a criar a famosa dCalendario com base na tabela Fato, fazendo uma cópia da tabela, excluindo as colunas que não precisava e depois disso criava as colunas ano, mês, nome do mês e assim por diante.
Depois de tanto bater cabeça, eu consegui ver como é importante criar a dCalendario, só que hoje tenho outro processo para criá-la.
Tomo como base o vídeo do Laennder no youtube.
Eu prefiro não ter tabela relacionada para criar a dCalendario, vejo a data do primeiro fato e sigo os seguintes passos:
1º Passo
Criação de uma consulta nula;
2º Passo
Informar a data inicial;
No modelo de dados de exemplo que eu tenho o primeiro ano é 2010.
3º Passo
Informar a data final;
Na data final, utilizei 2021 porque são dados antigos e que não haverá atualização.
4º Passo
Contar quantidade de dias;
Para a contagem dos dias utilizei a função Duration.Days, subtraindo a data final, 31/12/2021, com a data inicial, 01/01/2010.
Incluí um "+1" no final para contar o primeiro dia do calendário, se não fizer isso o último dia será 30/12/2021.
5º Passo
Com a data inicial e a quantidade de dias agora é possível criar a lista de dias;
Função lista datas Função duração (dias, horas, minutos, segundos)
6º Passo
Transformar a lista em tabela;
E por fim fazer a mágica acontecer no Power BI...
O script do Power Query e o arquivo PBIX estão disponíveis no github.
Uma dica é não deixar dias "sobrando" na dCalendario, para isso você pode utilizar a função List.Max, deixando o script do filtro parecido com isso:
= Table.SelectRows(#"Tipo Alterado1", each [Data] < List.Max(Fato[Data]))
Ahhh... Lembre-se sempre de considerar a coluna que possui a data mais futura, como por exemplo a de vencimento, as vezes podemos ter problemas na visualização do dashboard por causa disso.
Excelente final de semana galera!!!
Abraços.
#RafaelLemosPBI
Quando iniciei minha jornada no Power BI não entendia muito bem o motivo de criar uma tabela calendário, já que no arquivo de Excel que importava para o pbix continha a data do Fato.
Mesmo assim, eu comecei a criar a famosa dCalendario com base na tabela Fato, fazendo uma cópia da tabela, excluindo as colunas que não precisava e depois disso criava as colunas ano, mês, nome do mês e assim por diante.
Depois de tanto bater cabeça, eu consegui ver como é importante criar a dCalendario, só que hoje tenho outro processo para criá-la.
Tomo como base o vídeo do Laennder no youtube.
Eu prefiro não ter tabela relacionada para criar a dCalendario, vejo a data do primeiro fato e sigo os seguintes passos:
1º Passo
Criação de uma consulta nula;
2º Passo
Informar a data inicial;
No modelo de dados de exemplo que eu tenho o primeiro ano é 2010.
3º Passo
Informar a data final;
Na data final, utilizei 2021 porque são dados antigos e que não haverá atualização.
4º Passo
Contar quantidade de dias;
Para a contagem dos dias utilizei a função Duration.Days, subtraindo a data final, 31/12/2021, com a data inicial, 01/01/2010.
Incluí um "+1" no final para contar o primeiro dia do calendário, se não fizer isso o último dia será 30/12/2021.
5º Passo
Com a data inicial e a quantidade de dias agora é possível criar a lista de dias;
Função lista datas Função duração (dias, horas, minutos, segundos)
6º Passo
Transformar a lista em tabela;
E por fim fazer a mágica acontecer no Power BI...
O script do Power Query e o arquivo PBIX estão disponíveis no github.
Uma dica é não deixar dias "sobrando" na dCalendario, para isso você pode utilizar a função List.Max, deixando o script do filtro parecido com isso:
= Table.SelectRows(#"Tipo Alterado1", each [Data] < List.Max(Fato[Data]))
Ahhh... Lembre-se sempre de considerar a coluna que possui a data mais futura, como por exemplo a de vencimento, as vezes podemos ter problemas na visualização do dashboard por causa disso.
Excelente final de semana galera!!!
Abraços.
#RafaelLemosPBI