Introdução

Concluído

Ao usar Data Analysis Expressions (DAX), você pode adicionar três tipos de cálculos ao seu modelo semântico:

  • Tabelas calculadas
  • Colunas calculadas
  • Medidas

Observação

O DAX também pode ser usado para definir regras de RLS (segurança em nível de linha), que são expressões que impõem filtros a tabelas de modelo. No entanto, as regras não são consideradas cálculos de modelo, portanto, estão fora do escopo deste módulo. Para obter mais informações, confira RLS (segurança em nível de linha) com o Power BI.

Tabelas calculadas

Você pode escrever uma fórmula DAX para adicionar uma tabela calculada ao seu modelo. A fórmula pode duplicar ou transformar dados de modelo existentes ou criar uma série de dados para produzir uma nova tabela. Os dados da tabela calculados são sempre importados para seu modelo, assim, eles aumentam o tamanho do armazenamento do modelo e podem prolongar o tempo da atualização de dados.

Observação

Uma tabela calculada não pode se conectar a dados externos. Você precisa usar o Power Query para realizar essa tarefa.

Tabelas calculadas podem ser úteis em vários cenários:

  • Tabelas Date
  • Dimensões com função múltipla
  • Análise de hipóteses

Tabelas Date

As tabelas de data são necessárias para aplicar filtros de tempo especiais conhecidos como inteligência de tempo. As funções de inteligência de dados temporais do DAX só funcionam corretamente quando uma tabela de data é configurada. Quando os dados de origem não incluírem uma tabela de datas, você poderá criar uma como tabelas calculadas usando as funções DAX CALENDAR ou CALENDARAUTO.

Dimensões com função múltipla

Quando duas tabelas de modelo têm várias relações, o motivo pode ser que seu modelo tem uma dimensão de função múltipla. Por exemplo, se você tiver uma tabela chamada Sales que inclui duas colunas de data, OrderDateKey e ShipDateKey, ambas as colunas estarão relacionadas à coluna Date na tabela Date. Nesse caso, a tabela Date é descrita como uma dimensão com função múltipla, pois ela pode reproduzir a função de data do pedido ou data da remessa.

Os modelos do Microsoft Power BI permitem apenas uma relação ativa entre tabelas, que, no diagrama de modelo, é indicada como uma linha sólida. A relação ativa é usada por padrão para propagar os filtros, que, nesse caso, seriam da tabela Date para a coluna OrderDateKey na tabela Sales. Todas as relações restantes entre as duas tabelas ficam inativas. Em um diagrama de modelo, as relações são representadas como linhas tracejadas. As relações inativas são usadas apenas quando são expressamente solicitadas em uma fórmula calculada usando a função DAX USERELATIONSHIP.

Talvez um design de modelo melhor tenha duas tabelas de data, cada uma com uma relação ativa com a tabela Sales. Assim, os usuários de relatório podem filtrar pela data do pedido ou pela data de remessa, ou ambas ao mesmo tempo. Uma tabela calculada pode duplicar os dados da tabela Date para criar a tabela Ship Date.

Análise de hipóteses

O Power BI Desktop dá suporte a um recurso chamado parâmetros What-If. Quando você cria um parâmetro what-If, uma tabela calculada é automaticamente adicionada ao seu modelo.

Os parâmetros what-If permitem que os usuários de relatório selecionem ou filtrem por valores armazenados na tabela calculada. Fórmulas de medida podem usar valores selecionados de maneira significativa. Por exemplo, um parâmetro what-If pode permitir que o usuário de relatório selecione uma taxa de câmbio hipotética, e uma medida poderia dividir valores de receita (em uma moeda local) pela taxa selecionada.

É importante destacar que as tabelas calculadas what-if não estão relacionadas a outras tabelas de modelo porque não são usadas para propagar filtros. Por esse motivo, às vezes elas são chamadas de tabelas desconectadas.

Colunas calculadas

Você pode escrever uma fórmula DAX para adicionar uma coluna calculada a qualquer tabela no seu modelo. A fórmula é avaliada para cada linha da tabela e retorna um único valor. Quando adicionada a uma tabela do modo de armazenamento Importar, a fórmula é avaliada quando o modelo semântico é atualizado e aumenta o tamanho do armazenamento do seu modelo. Quando adicionado a uma tabela de modo de armazenamento DirectQuery, a fórmula é avaliada pelo banco de dados de origem subjacente quando a tabela é consultada.

No painel Campos, as colunas calculadas são aprimoradas com um ícone especial. O exemplo a seguir mostra uma coluna calculada na tabela Customer chamada Age.

Medidas

Você pode escrever uma fórmula DAX para adicionar uma medida a qualquer tabela no seu modelo. A fórmula está preocupada em obter um resumo sobre os dados do modelo. Semelhante a uma coluna calculada, a fórmula deve retornar um único valor. Ao contrário das colunas calculadas, que são avaliadas no momento da atualização de dados, as medidas são avaliadas no momento da consulta. Os resultados delas nunca são armazenados no modelo.

No painel Campos, as medidas são mostradas com o ícone de calculadora. O exemplo a seguir mostra três medidas na tabela Sales: Cost, Profit e Revenue.

Ocasionalmente, as medidas podem ser descritas como medidas explícitas. Para ser claro, medidas explícitas são cálculos de modelo escritos em DAX e comumente chamados simplesmente de medidas. Ainda assim, o conceito de medidas implícitas também existe. As medidas implícitas são colunas que podem ser resumidas por visuais de maneiras simplistas, como contagem, soma, mínimo, máximo e assim por diante. Você pode identificar medidas implícitas no painel Campos porque elas são mostradas com o símbolo sigma (∑).

Observação

Qualquer coluna pode ser resumida quando adicionada a um visual. Portanto, se elas são mostradas com o símbolo sigma ou não, quando são adicionadas a um visual, podem ser configuradas como medidas implícitas.

Além disso, o conceito de medida calculada não existe na modelagem de tabela. A palavra calculada é usada para descrever tabelas calculadas e colunas calculadas, o que as distingue de tabelas e colunas que se originam do Power Query. O Power Query não tem o conceito de uma medida explícita.