Share via


Criar tabelas de data no Power BI Desktop

Este artigo descreve boas práticas de design para criar tabelas de data em seus modelos de dados ao usar o Power BI Desktop.

Para trabalhar com funções de inteligência de tempo DAX (Data Analysis Expressions), há um requisito de modelo de pré-requisito: você deve ter pelo menos uma tabela de data em seu modelo. Uma tabela de data é uma tabela que cumpre os seguintes requisitos:

  • Ele deve ter uma coluna de data (ou data/hora) do tipo de dados, conhecida como coluna de data.
  • A coluna de data deve conter valores exclusivos.
  • A coluna de data não deve conter BLANKs.
  • A coluna de data não deve ter datas ausentes.
  • A coluna de data deve abranger anos completos. Um ano não é necessariamente um ano civil (janeiro-dezembro).
  • A tabela de datas deve ser marcada como uma tabela de datas.

Você pode usar qualquer uma das várias técnicas para adicionar uma tabela de data ao seu modelo:

  • A opção Data/hora automática
  • Power Query para ligar a uma tabela de dimensões de data
  • Power Query para gerar uma tabela de datas
  • DAX para gerar uma tabela de data
  • DAX para clonar uma tabela de data existente

Gorjeta

Uma tabela de datas é talvez o recurso mais consistente que você adicionará a qualquer um dos seus modelos. Além disso, dentro de uma organização, uma tabela de datas deve ser definida de forma consistente. Portanto, seja qual for a técnica que você decidir usar, recomendamos que você crie um modelo do Power BI Desktop que inclua uma tabela de data totalmente configurada. Compartilhe o modelo com todos os modeladores em sua organização. Assim, sempre que alguém desenvolve um novo modelo, pode começar com uma tabela de datas definida de forma consistente.

Usar data/hora automática

A opção Auto date/time oferece inteligência de tempo conveniente, rápida e fácil de usar. Os autores de relatórios podem trabalhar com inteligência de tempo ao filtrar, agrupar e detalhar períodos de tempo do calendário.

Recomendamos que mantenha a opção Data/hora automática ativada apenas quando trabalhar com períodos de tempo do calendário e quando tiver requisitos de modelo simplistas em relação à hora. O uso dessa opção também pode ser conveniente ao criar modelos ad hoc ou ao executar a exploração de dados ou a criação de perfis. Essa abordagem, no entanto, não oferece suporte a um único design de tabela de data que possa propagar filtros para várias tabelas. Para obter mais informações, consulte Orientação automática de data/hora no Power BI Desktop.

Ligar ao Power Query

Quando sua fonte de dados já tiver uma tabela de data, recomendamos que você a use como a fonte da tabela de data do modelo. Normalmente, é o caso quando você está se conectando a um data warehouse, pois ele terá uma tabela de dimensões de data. Desta forma, o seu modelo aproveita uma única fonte de verdade para o tempo na sua organização.

Se você estiver desenvolvendo um modelo DirectQuery e sua fonte de dados não incluir uma tabela de data, é altamente recomendável adicionar uma tabela de data à fonte de dados. Ele deve atender a todos os requisitos de modelagem de uma tabela de data. Em seguida, pode utilizar o Power Query para ligar à tabela de datas. Dessa forma, seus cálculos de modelo podem aproveitar os recursos de inteligência de tempo do DAX.

Gerar com o Power Query

Pode gerar uma tabela de datas utilizando o Power Query. Para obter mais informações, consulte a entrada de blogue de Chris Webb Gerar uma tabela de dimensão de data no Power Query.

Gorjeta

Se não tiver um armazém de dados ou outra definição consistente de tempo na sua organização, considere utilizar o Power Query para publicar um fluxo de dados. Em seguida, faça com que todos os modeladores de dados se conectem ao fluxo de dados para adicionar tabelas de data aos seus modelos. O fluxo de dados torna-se a única fonte de verdade para o tempo em sua organização.

Se você precisar gerar uma tabela de datas, considere fazê-lo com o DAX. Você pode achar que é mais fácil. Além disso, é provável que seja mais conveniente, porque o DAX inclui alguma inteligência integrada para simplificar a criação e o gerenciamento de tabelas de data.

Gerar com DAX

Você pode gerar uma tabela de data em seu modelo criando uma tabela calculada usando as funções CALENDAR ou CALENDARAUTO DAX. Cada função retorna uma tabela de datas de coluna única. Em seguida, você pode estender a tabela calculada com colunas calculadas para dar suporte aos seus requisitos de filtragem e agrupamento de intervalo de data.

  • Use a função CALENDÁRIO quando quiser definir um intervalo de datas. Você passa em dois valores: a data de início e a data de término. Esses valores podem ser definidos por outras funções DAX, como MIN(Sales[OrderDate]) ou MAX(Sales[OrderDate]).
  • Use a função CALENDARAUTO quando quiser que o intervalo de datas abranja automaticamente todas as datas armazenadas no modelo. Você pode passar em um único parâmetro opcional que é o mês final do ano (se o seu ano é um ano civil, que termina em dezembro, você não precisa passar em um valor). É uma função útil, porque garante que anos completos de datas sejam retornados — é um requisito para uma tabela de datas marcada. Além disso, você não precisa gerenciar a extensão da tabela para anos futuros: quando uma atualização de dados é concluída, ela aciona o recálculo da tabela. Um novo cálculo estenderá automaticamente o intervalo de datas da tabela quando as datas de um novo ano forem carregadas no modelo.

Gorjeta

Para obter mais informações sobre como criar tabelas calculadas, incluindo um exemplo de como criar uma tabela de data, trabalhe no módulo de aprendizagem Adicionar tabelas e colunas calculadas aos modelos do Power BI Desktop.

Clone com DAX

Quando o seu modelo já tem uma tabela de data e você precisa de uma tabela de data adicional, você pode facilmente clonar a tabela de data existente. É o caso quando a data é uma dimensão de interpretação de papéis. Você pode clonar uma tabela criando uma tabela calculada. A expressão da tabela calculada é simplesmente o nome da tabela de data existente.

Para obter mais informações relacionadas a este artigo, confira os seguintes recursos: