Criar uma tabela de data
Durante a criação do relatório no Power BI, um requisito comercial comum é fazer cálculos com base na data e na hora. As organizações querem conhecer o desempenho dos negócios delas ao longo de meses, trimestres, anos fiscais e assim por diante. Por esse motivo, é crucial que esses valores orientados por tempo sejam formatados corretamente. O Power BI detecta automaticamente as tabelas e colunas de data; no entanto, podem ocorrer situações em que você precisa executar etapas adicionais para obter as datas no formato que sua organização requer.
Suponha que você esteja desenvolvendo relatórios para a equipe de vendas na sua organização. O banco de dados contém tabelas para vendas, pedidos, produtos e muito mais. Observe que muitas dessas tabelas, incluindo Sales e Orders, contêm as respectivas colunas de data, conforme mostrado pelas colunas ShipDate e OrderDate nas tabelas Sales e Orders. Você tem a tarefa de desenvolver uma tabela do total de vendas e de pedidos por ano e por mês. Como é possível criar um visual com várias tabelas, cada uma fazendo referência às próprias colunas de data?
Para resolver esse problema, crie uma tabela de data comum que possa ser usada por várias tabelas. A seção a seguir explica como é possível realizar essa tarefa no Power BI.
Criar uma tabela de data comum
As maneiras pelas quais é possível criar uma tabela de data comum são:
Dados de origem
DAX
Power Query
Dados de origem
Ocasionalmente, os bancos de dados de origem e os data warehouses já têm as respectivas tabelas de data. Se o administrador que criou o banco de dados fez um trabalho completo, essas tabelas podem ser usadas para executar as seguintes tarefas:
Identificar feriados da empresa
Separar o ano civil e o ano fiscal
Identificar fins de semana versus dias da semana
As tabelas de dados de origem estão maduras e prontas para uso imediato. Se você tiver uma tabela desse tipo, certifique-se de incluí-la no seu modelo semântico e não use nenhum outro método descrito nessa seção. Recomendamos que você use uma tabela de data de origem porque ela provavelmente é compartilhada com outras ferramentas que você talvez esteja usando, além do Power BI.
Se você não tiver uma tabela de dados de origem, use outras maneiras de criar uma tabela de data comum.
DAX
É possível as funções DAX (Data Analysis Expression) CALENDARAUTO() ou CALENDAR() para criar sua tabela de data comum. A função CALENDAR() retorna um intervalo contíguo de datas com base em uma data de início e uma de término inseridas como argumentos na função. Como alternativa, a função CALENDARAUTO() retorna um intervalo contíguo e completo de datas que são determinadas automaticamente a partir do seu modelo semântico. A data de início é escolhida como a primeira data que existe no seu modelo semântico e a data de término é a data mais recente que existe no seu modelo semântico, acrescidas dos dados que foram preenchidos para o mês fiscal e que você pode optar por incluir como um argumento na função CALENDARAUTO(). Para os fins deste exemplo, a função CALENDAR() é usada porque você só deseja ver os dados de 31 de maio de 2011 (o primeiro dia em que Sales começou o respectivo acompanhamento desses dados) em diante, incluindo os dez anos seguintes.
No Power BI Desktop, selecione Nova Tabela e, em seguida, insira a seguinte fórmula DAX:
Dates = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))
Agora, você tem uma coluna de datas para usar. No entanto, essa coluna é um pouco esparsa. Você também deseja ver colunas apenas pelo ano, pelo número do mês, pela semana do ano e pelo dia da semana. Realize essa selecionando Nova Coluna na faixa de opções e inserindo a equação DAX a seguir, que recupera o ano da tabela de Data.
Year = YEAR(Dates[Date])
Execute o mesmo processo para recuperar o número do mês, o número da semana e o dia da semana:
MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")
Quando você terminar, sua tabela conterá as colunas mostradas na figura a seguir.
Você criou uma tabela de data comum usando o DAX. Esse processo apenas adiciona a nova tabela ao modelo semântico. Você ainda precisará estabelecer relações entre sua tabela de data e as tabelas Vendas e Pedidos e, em seguida, marcar sua tabela como a tabela de data oficial do modelo semântico. No entanto, antes de concluir essas tarefas, considere a possibilidade de criar uma tabela de data comum de outra maneira: usando o Power Query.
Power Query
Use a linguagem M, a linguagem de desenvolvimento usada para criar consultas no Power Query, para definir uma tabela de data comum.
Selecione Transformar Dados no Power BI Desktop, o que o direcionará para o Power Query. No espaço em branco do painel Consultas à esquerda, clique com o botão direito do mouse para abrir o menu suspenso a seguir, no qual você selecionará Nova Consulta > Consulta em Branco.
Na exibição da Nova Consulta resultante, insira a seguinte fórmula de M para criar uma tabela de calendário:
= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))
Para seus dados de vendas, a data de início deve refletir a primeira data que você tem em seus dados: 31 de maio de 2011. Além disso, você deseja ver as datas dos próximos dez anos, incluindo datas futuras. Essa abordagem garante que, à medida que novos dados de vendas surjam, você não precise recriar essa tabela. Também é possível alterar a duração. Nesse caso, convém ter um ponto de dados por dia, mas também é possível incrementar por horas, minutos e segundos. A figura a seguir mostra o resultado.
Depois de observar que teve êxito no processo, você percebe que tem uma lista de datas em vez de uma tabela de datas. Para corrigir esse erro, acesse a guia Transformar na faixa de opções e selecione Converter > Em Tabela. Como o nome sugere, esse recurso converterá sua lista em uma tabela. Também é possível renomear a coluna para DateCol.
Em seguida, adicione colunas à nova tabela para ver as datas em termos de ano, mês, semana e dia, permitindo que você crie uma hierarquia em seu visual. Sua primeira tarefa é alterar o tipo de coluna selecionando o ícone ao lado do nome da coluna e, no menu suspenso resultante, selecionar o tipo Data.
Depois de concluir a seleção do tipo Data, é possível adicionar colunas para ano, meses, semanas e dias. Acesse Adicionar Coluna, selecione o menu suspenso em Data e, em seguida, selecione Ano, conforme mostrado na figura a seguir.
Observe que Power BI adicionou uma coluna de todos os anos cujo pull é efetuado de DateCol.
Conclua o mesmo processo para meses, semanas e dias. Quando você terminar esse processo, sua tabela vai conter as colunas mostradas na figura a seguir.
Você usou com êxito o Power Query para criar uma tabela de data comum.
As etapas anteriores mostram como inserir a tabela no modelo semântico. Agora, você precisa marcar sua tabela como a tabela de data oficial para que Power BI possa reconhecê-la para todos os valores futuros e assegurar que a formatação esteja correta.
Marcar como a tabela de data oficial
Sua primeira tarefa para marcar a tabela como a tabela de data oficial é encontrar a nova tabela no painel Campos. Clique com o botão direito do mouse no nome da tabela e selecione Marcar como tabela de data, conforme mostrado na figura a seguir.
Ao marcar sua tabela como uma tabela de data, o Power BI executa validações para garantir que os dados não contenham nenhum valor nulo, sejam exclusivos e contenham valores de data contínuos durante um período. Também é possível escolher colunas específicas em sua tabela para marcar como a data, o que pode ser útil quando você tem muitas colunas em sua tabela. Clique com o botão direito do mouse na tabela, selecione Marcar como tabela de data e, em seguida, selecione Configurações da tabela de data. A janela a seguir será exibida, na qual será possível escolher qual coluna deve ser marcada como Data.
A seleção da opção Marcar como tabela de data removerá as hierarquias geradas automaticamente do campo Data na tabela marcada como uma tabela de data. Para outros campos de data, a hierarquia automática ainda estará presente até que você estabeleça uma relação entre esse campo e a tabela de data ou até que você desative o recurso Data/Hora Automática. É possível adicionar manualmente uma hierarquia à tabela de data comum clicando com o botão direito do mouse nas colunas year, month, week ou day no painel Campos e, em seguida, selecionando Nova hierarquia. Esse processo será discutido posteriormente neste módulo.
Criar seu visual
Para criar seu visual entre as tabelas Sales e Orders, será necessário estabelecer uma relação entre essa nova tabela de data comum e as tabelas Sales e Orders. Como resultado, você poderá criar visuais usando a nova tabela de data. Para concluir essa tarefa, acesse a guia Modelo>Gerenciar Relações. Ali, usando a coluna OrderDate, é possível criar relações entre a tabela de data comum e as tabelas Orders e Sales. A captura de tela a seguir mostra um exemplo de relação desse tipo.
Depois de criar as relações, crie seu visual Total de Vendas e Quantidade de Pedidos por Período de Tempo com sua tabela de data comum que você desenvolveu usando o método DAX ou Power Query.
Para determinar o total de vendas, você precisa adicionar todas as vendas, pois a coluna Amount na tabela Sales só examina a receita de cada venda, não a receita total de vendas. Conclua essa tarefa usando o cálculo de medida a seguir, que será explicado em discussões posteriores. O cálculo que você usará ao criar essa medida é o seguinte:
#Total Sales = SUM(Sales[‘Amount’])
Depois de concluir, crie uma tabela retornando à guia Visualizações e selecionando o visual Tabela. Você deseja ver o total de pedidos e vendas por ano e mês, portanto, você só deseja incluir as colunas Year e Month de sua tabela de datas, a coluna OrderQty e a medida #TotalSales. Ao aprender sobre hierarquias, é possível também criar uma hierarquia que permite fazer uma busca detalhada, passando de anos para meses. Neste exemplo, você pode exibir essas informações lado a lado. Você criou com êxito um visual com uma tabela de data comum.