Criar uma tabela de dados

Concluído

Durante a criação de relatórios no Power BI, um requisito comum da empresa é fazer cálculos com base na data e hora. As organizações querem saber como estão os seus negócios ao longo de meses, trimestres, anos fiscais e assim sucessivamente. Por este motivo, é crucial que estes valores orientados para o tempo sejam formatados corretamente. O Power BI deteta automaticamente colunas de dados e tabelas. No entanto, podem ocorrer situações nas quais terá de tomar medidas adicionais para obter as datas no formato exigido pela sua organização.

Por exemplo, suponha que está a desenvolver relatórios para a equipa de Vendas da sua organização. A base de dados contém tabelas para vendas, encomendas, produtos e muito mais. Reparou que muitas destas tabelas, incluindo Sales e Orders, contêm as suas próprias colunas de data, como mostram as colunas ShipDate e OrderDate nas tabelas Sales e Orders. É-lhe incumbida a tarefa de desenvolvimento de uma tabela do total de vendas e encomendas por ano e mês. Como pode criar um elemento visual com múltiplas tabelas, cada uma referenciando as suas próprias colunas de data?

Captura de ecrã do excerto de modelo semântico com Sales.ShipDate e Order.OrderDate realçados.

Para resolver este problema, pode criar uma tabela de datas comuns que pode ser utilizada por múltiplas tabelas. A secção seguinte explica como pode realizar esta tarefa no Power BI.

Criar uma tabela de datas comuns

As formas para criar uma tabela de datas comuns são:

  • Dados de origem

  • DAX

  • Power Query

Dados de origem

Ocasionalmente, as bases de dados de origem e os armazéns de dados já têm as suas próprias tabelas de datas. Se o administrador que criou a base de dados tiver feito um trabalho minucioso, estas tabelas podem ser utilizadas para executar as seguintes tarefas:

  • Identificar férias da empresa

  • Separar o calendário e o ano fiscal

  • Identificar fins de semana vs. dias úteis

As tabelas de dados de origem estão prontas para ser utilizadas de imediato. Se tiver uma tabela como tal, introduza-a no seu modelo semântico e não utilize outros métodos descritos nesta secção. Recomendamos que utilize uma tabela de dados de origem, porque é provavelmente partilhada com outras ferramentas que poderá estar a utilizar, além do Power BI.

Se não tiver uma tabela de dados de origem, pode utilizar outras formas de construir uma tabela de datas comuns.

DAX

Pode utilizar as funções CALENDARAUTO() ou CALENDAR() da Data Analysis Expression (DAX) para criar a sua tabela de datas comuns. A função CALENDAR() devolve uma variedade contígua de datas com base numa data de início e fim que são introduzidas como argumentos na função. Em alternativa, a função CALENDARAUTO() devolve um intervalo contíguo e completo de datas que são automaticamente determinadas a partir do modelo semântico. A data de início é escolhida como a data mais antiga que existe no seu modelo semântico e a data de fim é a data mais recente que existe no seu modelo semântico e os dados que foram preenchidos para o mês fiscal que pode optar por incluir como um argumento na função CALENDARAUTO(). Para efeitos deste exemplo, a função CALENDAR() é utilizada porque só pretende ver os dados de 31 de maio de 2011 (o primeiro dia em que o departamento de Vendas iniciou o controlo destes dados) e avançar para os próximos 10 anos.

Em Power BI Desktop, selecione Nova Tabela e, em seguida, introduza a seguinte fórmula DAX:

Dates  = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Captura de ecrã a mostrar a fórmula CALENDÁRIO no Power BI.

Tem agora uma coluna de datas que pode utilizar. No entanto, esta coluna é ligeiramente dispersa. Também quer ver apenas as colunas do ano, número do mês, semana do ano e dia da semana. Pode realizar esta tarefa ao selecionar Nova Coluna no friso e ao introduzir a seguinte equação DAX, que obterá o ano da tabela Dates.

Year = YEAR(Dates[Date])

Captura de ecrã a mostrar a adição de colunas com uma equação DAX.

Pode realizar o mesmo processo para obter 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 terminar, a tabela irá conter as colunas que são apresentadas na seguinte figura.

Captura de ecrã das colunas finais na tabela DAX.

Criou agora uma tabela de datas comuns com DAX. Este processo só adiciona a sua nova tabela ao modelo semântico; Continuará a ter de estabelecer relações entre a tabela de datas e as tabelas Vendas e Encomendas e, em seguida, marcar a tabela como a tabela de datas oficial do modelo semântico. No entanto, antes de concluir essas tarefas, certifique-se de que considera outra forma de criar uma tabela de datas comuns: com o Power Query.

Power Query

Pode utilizar a linguagem M, a linguagem de programação que é utilizada para criar consultas no Power Query, para definir uma tabela de datas comuns.

Selecione Transformar Dados no Power BI Desktop, que o direcionará para o Power Query. No espaço em branco do painel Consultas à esquerda, clique com o botão direito do rato para abrir o seguinte menu pendente, onde irá selecionar Nova Consulta > Em Branco Consulta.

Captura de ecrã a mostrar a criação de uma nova consulta no Power BI.

Na vista Nova Consulta resultante, introduza a seguinte fórmula M para criar uma tabela de calendário:

= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Captura de ecrã a mostrar a utilização de uma fórmula M para desenvolver uma tabela de calendário.

Para os seus dados de vendas, quer que a data de início reflita a data mais antiga que tem nos seus dados: 31 de maio de 2011. Além disso, quer ver datas para os próximos 10 anos, incluindo datas no futuro. Esta abordagem garante que, à medida que os novos dados de vendas fluem, não terá de recriar esta tabela. Também pode alterar a duração. Neste caso, quer um ponto de dados para cada dia, mas também pode incrementar por horas, minutos e segundos. A seguinte imagem mostra o resultado.

Captura de ecrã do calendário de vendas como uma lista.

Depois de ter realizado o processo com êxito, reparará que tem uma lista de datas em vez de uma tabela de datas. Para corrigir este erro, aceda ao separador Transformar no friso e selecione Converter > em Tabela. Como o nome sugere, esta funcionalidade converterá a sua lista numa tabela. Também pode mudar o nome da coluna para DateCol.

Captura de ecrã a mostrar a conversão de uma lista numa tabela no Editor do Power Query.

Em seguida, pretende adicionar colunas à sua nova tabela para ver datas em termos de ano, mês, semana e dia para que possa criar uma hierarquia no seu elemento visual. A sua primeira tarefa é alterar o tipo de coluna ao selecionar o ícone junto ao nome da coluna e, no menu pendente resultante, selecionar o tipo Data.

Captura de ecrã a mostrar a alteração do tipo até à data.

Depois de terminar de selecionar o tipo Data, pode adicionar colunas para ano, meses, semanas e dias. Aceda a Adicionar Coluna, selecione o menu pendente em Data e, em seguida, selecione Ano, conforme apresentado na figura seguinte.

Captura de ecrã a mostrar a adição de colunas através de Power Query.

Note que o Power BI adicionou uma coluna de todos os anos que são solicitados de DateCol.

Captura de ecrã a mostrar a adição de colunas com Power Query numa tabela.

Conclua o mesmo processo para meses, semanas e dias. Depois de terminar este processo, a tabela irá conter as colunas que são apresentadas na seguinte figura.

Captura de ecrã das colunas DateCol, Year, Month, Week of Year e Day Name.

Utilizou com êxito o Power Query para criar uma tabela de datas comum.

Os passos anteriores mostram como colocar a tabela no modelo semântico. Agora, tem de marcar a tabela como a tabela de datas oficial para que o Power BI possa reconhecê-la para todos os valores futuros e garantir que a formatação está correta.

Marcar como a tabela de datas oficial

A sua primeira tarefa para marcar a sua tabela como a tabela de datas oficial consiste em encontrar a nova tabela no painel Campos. Clique com o botão direito do rato no nome da tabela e, em seguida, selecione Marcar como tabela de data, conforme apresentado na seguinte figura.

Captura de ecrã a mostrar a opção

Ao marcar a sua tabela como uma tabela de datas, o Power BI efetua validações para garantir que os dados contêm valores nulos, são exclusivos e contêm valores de data contínua durante um período. Também pode escolher colunas específicas na sua tabela para marcar como a data, o que pode ser útil quando tem muitas colunas na sua tabela. Clique com o botão direito do rato na tabela, selecione Marcar como tabela de datas e, em seguida, selecione Definições da tabela de datas. Será apresentada a seguinte janela, onde pode escolher que coluna deve ser marcada como Data.

Captura de ecrã a mostrar a caixa de diálogo marcar como tabela de datas.

Selecionar Marcar como tabela de datas irá remover as hierarquias geradas automaticamente do campo Data na tabela que marcou como uma tabela de datas. Para outros campos de data, a hierarquia automática continuará presente até estabelecer uma relação entre esse campo e a tabela de datas ou até desativar a funcionalidade Data/Hora Automáticas. Pode adicionar manualmente uma hierarquia à sua tabela de datas comum ao clicar com o botão direito do rato nas colunas ano, mês, semana ou dia no painel Campos e, em seguida, selecionar Nova hierarquia. Este processo é abordado mais adiante neste módulo.

Criar o seu elemento visual

Para criar o seu elemento visual entre as tabelas Sales e Orders, terá de estabelecer uma relação entre esta nova tabela de datas comum e as tabelas Sales e Orders. Como resultado, poderá criar elementos visuais com a nova tabela de datas. Para concluir esta tarefa, aceda ao separador Modelo>Gerir Relações, onde pode criar relações entre a tabela de datas comum e as tabelas Orders e Sales com a coluna OrderDate. A seguinte captura de ecrã mostra um exemplo dessa relação.

Captura de ecrã a mostrar a caixa de diálogo Criar relação.

Depois de criar as relações, pode criar o seu elemento visual Total Sales e Order Quantity por Time com a sua tabela de datas comum que desenvolveu com o método DAX ou Power Query.

Para determinar os valores totais, tem de adicionar todas as vendas, porque a coluna Amount na tabela Sales apenas vê as receitas de cada venda e não as receitas das vendas totais. Pode concluir esta tarefa com o seguinte cálculo, que será explicado em debates posteriores. O cálculo que utilizará ao criar esta medida é o seguinte:

#Total Sales = SUM(Sales[‘Amount’])

Depois de terminar, pode criar uma tabela ao regressar ao separador Visualizações e selecionar o elemento visual Tabela. Quer ver as encomendas e vendas totais por ano e mês, por isso só quer incluir as colunas Year e Month da sua tabela de datas, a coluna OrderQty e a medida #TotalSales. Quando aprende sobre hierarquias, também pode criar uma hierarquia que lhe permitirá desagregar de anos a meses. Neste exemplo, pode vê-los lado a lado. Criou com êxito um elemento visual com uma tabela de datas comum.

Captura de ecrã a mostrar a Coluna de Data Comum com DAX.