modelagem de dados com data
Neste exemplo, temos os hóspedes de A a E e as datas de chekin e checkout.
Fiz a inclusão da coluna de dias representando quantas diárias através da função:
= Table.AddColumn(#"Tipo Alterado", "Qnt Dias", each Duration.Days([#"Check-Out"] - [#"Check-in"]) + 1, Int64.Type)
FIz a adição de +1 devido começar em 1 e não em 0, logo, anularia o dia 01 da hospedagem.
Para realizar a modelagem de dados no Power Query, teremos que expandir as linhas, ou seja, para o hóspede A, serão 10 linhas (diárias), para o hóspede B, 19 diárias e assim por diante.
Depois disso, ainda no Power Query, clique em adicionar coluna, coluna personalizada e digite:
= {1..[Qnt Dias]}
Ou seja, quero uma lista que comece em 1 e que termine na "quantidade de dias" que foi a subtração que criamos entre as datas.
No ícone superior direito desta nova coluna que acabamos de criar, clique nas setinhas para expandir, e "Expandir para Novas Linhas" e neste exemplo, a tabela que estava com 5 linhas de acordo com a quantidade de hóspedes, ficará com 203 linhas, tendo como base a diária e não mais o hóspede.
Para chegar no valor da diária, selecione a coluna "valor" e "Qnt de Dias", clique Adicionar Coluna, Padrão, Dividir
A função ficará assim: = Table.AddColumn(#"Lista Expandido", "Valor Diária", each [Valor] / [Qnt Dias], type number)
Posteriormente, clique em Adicionar coluna novamente, Coluna Personalizada, com o nome de Data
Fórmula: = Date.AddDays([#"Check-in"], [Lista] -1)
Novamente o -1 na fórmula para considerar a partir do primeiro argumento.
Depois, podemos excluir as colunas: Check-in, Check-out, Valor, Qnt Dias e Lista para visualizarmos apenas o hospede, valor da diária e a data da diária.
Com isso, podemos criar um relacionamento entre a dCalendario com nossa tabela através da coluna de Data conforme acima.