Compartilhar via


Diretrizes de design para tabelas de datas no Power BI Desktop

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

Uma tabela de data é a tabela mais comum usada para análise. Ela armazena uma linha por data e oferece suporte ao requisito comum de filtrar ou agrupar por períodos específicos de datas, como anos, trimestres ou meses.

Além disso, para trabalhar com funções de inteligência de tempo DAX (Data Analysis Expressions), seu modelo de dados deve ter pelo menos uma tabela de datas. Uma tabela de data é uma tabela de modelo que atende aos seguintes requisitos:

  • Ela deve ter uma coluna de tipo de dados de data (ou data/hora) – conhecida como coluna de data.
  • A coluna de data deve conter valores exclusivos.
  • A coluna de data não deve conter espaços em branco.
  • A coluna de data não deve ter nenhuma data ausente.
  • A coluna de data deve abranger os anos completos. Um ano não é necessariamente um ano civil (janeiro a dezembro).
  • A tabela de data deve ser marcada como uma tabela de data.

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

Dica

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

Usar data/hora automática

A opção de Data/hora automática fornece inteligência de dados temporais conveniente, rápida e fácil de usar. Autores de relatórios podem trabalhar com a inteligência de dados temporais para filtrar, agrupar e detalhar os períodos do calendário.

Recomendamos manter a opção de data/hora automática habilitada somente ao trabalhar com períodos de calendário e quando você tiver requisitos de modelo simplistas em relação ao tempo. Você também pode usar essa opção ao criar modelos ad hoc ou executar a exploração de dados ou a criação de perfil. Porém, essa abordagem não dá suporte a um design de tabela de data única que possa propagar filtros para várias tabelas. Para obter mais informações, confira Diretrizes de data/hora automática no Power BI Desktop.

Conectar-se com o Power Query

Quando sua fonte de dados já tiver uma tabela de data, recomendamos usá-la como a origem da tabela de data do modelo. Normalmente, é o caso quando você está se conectando a um data warehouse, pois ele já deve ter uma tabela de dimensão de data. Dessa forma, seu modelo usa uma única fonte de verdade para o tempo em sua organização.

Caso você esteja desenvolvendo um modelo DirectQuery e sua fonte de dados não inclua uma tabela de data, recomendamos que você adicione uma tabela de data à fonte de dados. Ela deve atender a todos os requisitos de modelagem de uma tabela de data. Em seguida, você pode usar o Power Query para se conectar à tabela de data. Dessa forma, os cálculos do modelo podem usar os recursos de inteligência de tempo do DAX.

Gerar com o Power Query

Você pode gerar uma tabela de datas usando Power Query. Para obter mais informações, confira a postagem do blog de Chris Webb Generating A Date Dimension Table In Power Query (texto em inglês).

Dica

Se você não tiver um data warehouse ou outra definição consistente para o tempo em sua organização, considere o uso do Power Query para publicar um fluxo de dados. Em seguida, peça que todos os modeladores de dados se conectem ao fluxo de dados para adicionar tabelas de data a seus modelos. O fluxo de dados se torna a única fonte de verdade para o tempo em sua organização.

Se você precisar gerar uma tabela de data, considere fazer isso com o DAX. Talvez você ache mais fácil. Além disso, é provável que seja mais conveniente, porque o DAX inclui alguma inteligência interna para simplificar a criação e o gerenciamento de tabelas de data.

Gerar com o DAX

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

  • Use a CALENDAR função quando quiser definir um intervalo de datas. Passe 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 CALENDARAUTO função quando quiser que o intervalo de datas abranja automaticamente todas as datas armazenadas no modelo. Você pode passar um único parâmetro opcional que seja o mês final do ano (se for um ano civil, que termina em dezembro, não será necessário passar um valor). É uma função útil porque garante que os anos completos de datas sejam retornados e, portanto, atende ao requisito de uma tabela de datas marcadas. Além disso, você não precisa estender a tabela com linhas para os anos futuros. Isso ocorre porque, quando uma atualização de dados é concluída, ela aciona o recálculo da tabela. Um recálculo estende automaticamente o intervalo de datas da tabela quando as datas de um novo ano são carregadas no modelo.

Dica

Para obter mais informações sobre como criar tabelas calculadas, incluindo um exemplo de como criar uma tabela de datas, trabalhe por meio do módulo de aprendizado Adicionar tabelas e colunas calculadas a modelos do Power BI Desktop.

Além disso, considere usar uma ferramenta de software livre gratuita para ajudar a gerenciar datas com o DAX. Para obter mais informações, consulte Bravo para Power BI.

Clonar com DAX

Quando seu modelo de dados já tem uma tabela de datas e você precisa de outra tabela de datas, quando a data é uma dimensão de dimensão de função, você pode clonar facilmente a tabela de datas existente. Você pode clonar uma tabela criando uma tabela calculada. A expressão da tabela calculada é simplesmente o nome da tabela de data existente.

Por exemplo, para criar uma Ship Date tabela que clona a Date tabela, use a expressão de tabela calculada a seguir.

Ship Date = 'Date'

Observação

Quando você clona uma tabela com o DAX, ela cria apenas colunas. Ele não aplica nenhuma propriedade de modelo da tabela clonada, como formatos ou descrições. Além disso, as hierarquias não são clonadas.

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