Visão geral da DAX (Data Analysis Expressions)
DAX é uma linguagem de fórmula que permite aos usuários definir cálculos personalizados em tabelas do PowerPivot (colunas calculadas) e em Tabelas Dinâmicas do Excel (medidas). O DAX inclui algumas das funções usadas em fórmulas do Excel e funções adicionais projetadas para funcionar com dados relacionais e executar agregação dinâmica.
Esta seção explica os seguintes conceitos:
Onde usar fórmulas DAX
Como criar fórmulas DAX
Tipos de operações que podem ser executadas com DAX
Visão geral das fórmulas DAX
As fórmulas DAX são muito semelhantes às do Excel. Para criar uma, você digita um sinal de igual, seguido de um nome de função ou uma expressão, e todos os valores ou argumentos necessários. Assim como o Excel, a DAX fornece diversas funções que você pode usar para trabalhar com cadeias de caracteres, executar cálculos usando datas e horas, ou criar valores condicionais.
No entanto, as fórmulas DAX são diferentes no que diz respeito a estes itens importantes:
Uma função DAX sempre referencia uma coluna completa ou uma tabela. Para usar apenas valores específicos de uma tabela ou coluna, você pode adicionar filtros à fórmula.
Para personalizar os cálculos linha por linha, o PowerPivot fornece funções que permitem usar o valor da linha atual ou um valor relacionado para executar cálculos que variam de acordo com o contexto.
A DAX inclui um tipo de função que retorna uma tabela como resultado, em vez de um único valor. Essas funções podem ser usadas para fornecer entrada para outras funções, portanto calculando valores para tabelas ou colunas inteiras.
Algumas funções DAX fornecem inteligência de tempo, que permite criar cálculos usando intervalos de datas significativos e comparar os resultados em períodos paralelos.
Onde usar fórmulas
Você pode usar fórmulas DAX em tabelas PowerPivot ou em Tabelas Dinâmicas no Excel:
É possível usar fórmulas em colunas calculadas adicionando uma coluna e digitando uma expressão na barra de fórmulas. Você cria essas fórmulas na janela do PowerPivot. Para obter mais informações, consulte Criar uma coluna calculada.
É possível usar fórmulas em medidas. Você cria essas fórmulas no Excel clicando em Adicionar Medida em uma Tabela Dinâmica ou um Gráfico Dinâmico existente do PowerPivot. Para obter mais informações, consulte Criar uma medida.
A mesma fórmula pode se comportar de modo diferente, dependendo de ela ser usada em uma coluna calculada ou em uma medida. Em uma coluna calculada, a fórmula sempre é aplicada a todas as linhas da coluna, em toda a tabela. Dependendo do contexto da linha, o valor pode se alterar. Em uma medida, porém, o cálculo de resultados depende muito do contexto. Ou seja, o design da Tabela Dinâmica e a escolha de cabeçalhos de linha e coluna afetam os valores usados nos cálculos. Para obter mais informações, consulte Contexto em fórmulas DAX.
Criando fórmulas com a barra de fórmulas
Assim como o Excel, o PowerPivot fornece uma barra de fórmulas para facilitar a criação e edição de fórmulas, além da funcionalidade de Preenchimento Automático, para minimizar os erros de digitação e sintaxe.
Para digitar o nome de uma tabela Comece a digitar o nome da tabela. AutoCompletar Fórmula fornece uma lista suspensa que contém nomes válidos iniciados com essas letras.
Para digitar o nome de uma coluna Digite um colchete e escolha a coluna na lista de colunas da tabela atual. Para uma coluna de outra tabela, comece digitando as primeiras letras do nome da tabela e, em seguida, escolha a coluna na lista suspensa AutoCompletar.
Para obter instruções passo a passo sobre como criar fórmulas, consulte Criar fórmulas para cálculos.
Dicas para usar o AutoCompletar
Você pode usar a opção AutoCompletar Fórmula no meio de uma fórmula existente com funções aninhadas. O texto imediatamente antes do ponto de inserção é usado para exibir valores na lista suspensa, e todo o texto depois do ponto de inserção permanece inalterado.
Os nomes definidos que você cria para as constantes não são exibidos na lista suspensa AutoCompletar, mas você pode digitá-los.
O PowerPivot não adiciona o parêntese de fechamento das funções, nem faz a correspondência automática dos parênteses. Você deve verificar se cada função está sintaticamente correta; caso contrário, não poderá salvar nem usar a fórmula.
Usando várias funções em uma fórmula
Você pode aninhar funções, o que significa que você usa os resultados de uma função como um argumento de outra função. Você pode aninhar até 64 níveis de funções em colunas calculadas. Entretanto, o aninhamento pode dificultar a criação ou a solução de problemas em fórmulas.
Muitas funções do PowerPivot destinam-se ao uso somente como funções aninhadas. Essas funções retornam uma tabela, que não pode ser salva diretamente como um resultado na pasta de trabalho do PowerPivot; mas deve ser fornecida como entrada para uma função de tabela. Por exemplo, as funções SUMX, AVERAGEX e MINX requerem uma tabela como o primeiro argumento.
Observação |
---|
Existem alguns limites no aninhamento de funções nas medidas, para garantir que o desempenho não seja afetado pelos muitos cálculos necessários para as dependências entre colunas. |
Comparando funções de DAX e funções do Excel
A biblioteca de funções de DAX se baseia na biblioteca de funções do Excel, mas elas são muito diferentes. Esta seção resume as diferenças e semelhanças entre funções do Excel e de DAX.
Muitas funções de DAX têm o mesmo nome e o mesmo comportamento geral que as funções do Excel, mas foram modificadas para aceitar diferentes tipos de entradas e, em alguns casos, podem retornar um tipo de dados diferente. Em geral, não é possível usar fórmulas DAX em uma pasta de trabalho do Excel, ou usar fórmulas do Excel em uma pasta de trabalho do PowerPivot sem alguma modificação.
As funções de DAX nunca aceitam um intervalo de células ou um intervalo como referência, mas aceitam uma coluna ou tabela como referência.
As funções de data e hora de DAX retornam um tipo de dados datetime. Por outro lado, as funções de data e hora do Excel retornam um inteiro que representa uma data como um número de série.
Muitas das novas funções de DAX retornam uma tabela de valores ou fazem cálculos com base em uma tabela de valores como entrada. Por outro lado, o Excel não tem funções que retornem uma tabela, mas algumas delas funcionam com matrizes. A capacidade de referenciar facilmente tabelas e colunas completas é um novo recurso do PowerPivot.
A DAX oferece novas funções de pesquisa, semelhantes às funções de pesquisa de matriz e vetor do Excel. Porém, as funções de DAX requerem que uma relação seja estabelecida entre as tabelas.
A DAX não dá suporte ao tipo de dados variant encontrado no Excel. Espera-se que o tipo de dados de uma coluna seja sempre o mesmo. Se os dados não forem do mesmo tipo, o DAX alterará a coluna inteira para o tipo de dados que melhor acomode todos os valores.
Voltar ao início
Tipos de dados DAX
É possível importar para uma planilha do PowerPivot os dados de diversas fontes de dados que podem dar suporte a diferentes tipos de dados. Quando você importa ou carrega os dados em uma pasta de trabalho, e depois usa esses dados em cálculos ou em Tabelas Dinâmicas, eles são convertidos em um dos tipos de dados do PowerPivot. Para obter uma lista dos tipos de dados, consulte Tipos de dados com suporte em pastas de trabalho PowerPivot.
O tipo de dados da tabela é um novo tipo de dados do DAX usado como a entrada ou a saída para muitas funções novas. Por exemplo, a função FILTER usa uma tabela como entrada e gera outra tabela que contém apenas as linhas que atendam às condições do filtro. Ao combinar funções de tabela com funções de agregação, você pode executar cálculos complexos em conjuntos de dados definidos de forma dinâmica. Para obter mais informações, consulte Agregações em fórmulas.
Voltar ao início
Fórmulas e o modelo relacional
A janela do PowerPivot é uma área na qual é possível trabalhar com várias tabelas de dados e conectá-las em um modelo relacional. Nesse modelo, as tabelas são conectadas umas às outras por relações, o que permite criar correlações com as colunas de outras tabelas e criar cálculos mais interessantes. Por exemplo, você pode criar fórmulas que somam valores para uma tabela relacionada e, em seguida, salvar esse valor em uma única célula. Ou então, para controlar as linhas da tabela relacionada, você pode aplicar filtros às tabelas e colunas. Para obter mais informações, consulte Visão geral de relações.
Como é possível vincular tabelas usando relações, as Tabelas Dinâmicas também podem incluir dados de várias colunas de tabelas diferentes.
No entanto, como as fórmulas podem funcionar com tabelas e colunas inteiras, é necessário criar cálculos de forma diferente do que é feito no Excel.
Em geral, uma fórmula DAX em uma coluna é sempre aplicada ao conjunto inteiro de valores da coluna (nunca a apenas algumas linhas ou células).
As tabelas do PowerPivot sempre devem ter o mesmo número de colunas em cada linha, e todas as linhas de uma coluna devem conter o mesmo tipo de dados.
Quando as tabelas estão conectadas por uma relação, você deve verificar se essas duas colunas usadas como chaves têm valores correspondentes na maior parte. Como o PowerPivot não impõe integridade referencial, é possível ter valores não correspondentes em uma coluna de chave e, ainda assim, criar uma relação. No entanto, a presença de valores em branco ou não correspondentes pode afetar os resultados das fórmulas e a aparência das Tabelas Dinâmicas.
Ao vincular tabelas na pasta de trabalho usando relações, você amplia o escopo, ou contexto, no qual as fórmulas são avaliadas. Por exemplo, as fórmulas de uma Tabela Dinâmica podem ser afetadas por quaisquer filtros ou por títulos de colunas e linhas da Tabela Dinâmica. Você pode escrever fórmulas que manipulam o contexto, mas o contexto também pode fazer com que os resultados sejam alterados de maneiras imprevisíveis. Para obter mais informações, consulte Contexto em fórmulas DAX.
Voltar ao início
Colunas calculadas e medidas
É possível criar fórmulas no PowerPivot em colunas calculadas ou em medidas.
Colunas calculadas
Coluna calculada é uma coluna adicionada a uma tabela do PowerPivot existente. Em vez de colar ou importar valores na coluna, você cria uma fórmula DAX que define os valores da coluna. Se incluir a tabela do PowerPivot em uma Tabela Dinâmica (ou Gráfico Dinâmico), a coluna calculada poderá ser usada como você faria com qualquer outra coluna de dados.
As fórmulas nas colunas calculadas são bem semelhantes às fórmulas criadas no Excel. No entanto, diferentemente do Excel, não é possível criar uma fórmula diferente para linhas distintas em uma tabela; em vez disso, a fórmula DAX é aplicada automaticamente a toda a coluna.
Quando uma coluna contém uma fórmula, o valor é computado para cada linha. Os resultados são calculados para a coluna assim que você cria a fórmula. Apenas os valores da coluna serão recalculados se os dados subjacentes forem atualizados ou se o recálculo manual for usado.
É possível criar colunas calculadas baseadas em medidas e em outras colunas calculadas. No entanto, evite usar o mesmo nome para uma coluna calculada e uma medida, pois isso pode levar a resultados confusos. Ao fazer referência a uma coluna, é melhor usar uma referência de coluna totalmente qualificada para evitar invocar uma medida acidentalmente.
Medidas
Medida é uma fórmula criada especificamente para ser usada em uma Tabela Dinâmica (ou Gráfico Dinâmico) que utilize dados PowerPivot. As medidas podem se basear em funções de agregação padrão, como COUNT ou SUM, ou é possível definir sua própria fórmula usando-se o DAX. Uma medida é usada na área Valores de uma Tabela Dinâmica. Se você quiser colocar resultados calculados em uma área diferente de uma Tabela Dinâmica, use uma coluna calculada em seu lugar.
Para criar uma medida, você deve adicionar uma Tabela Dinâmica ou Gráfico Dinâmico à pasta de trabalho PowerPivot. Quando você definir uma fórmula para uma medida, nada acontecerá até você colocar a medida em uma Tabela Dinâmica. Quando você adiciona a medida, a fórmula é avaliada para cada célula na área Valores da Tabela Dinâmica. Como um resultado é criado para cada combinação de cabeçalhos de linha e coluna, o resultado da medida pode ser diferente em cada célula.
A definição da medida criada é salva com a tabela de dados de origem. Ela é exibida na Lista de campos do PowerPivot e está disponível para todos os usuários da pasta de trabalho.
Voltar ao início
Atualizando os resultados de fórmulas
Atualização de dados e recálculo são duas operações separadas, porém relacionadas, que você deve compreender ao criar um modelo de dados que contenha fórmulas complexas, grandes quantidades de dados ou dados obtidos de fontes de dados externas.
Atualização de dados é o processo de atualizar os dados da pasta de trabalho com novos dados de uma fonte de dados externa. Você pode atualizar os dados manualmente a intervalos que você especifica. Ou, se você publicou a pasta de trabalho em um site do SharePoint, poderá agendar uma atualização automática de fontes externas.
Recálculo é o processo de atualizar os resultados das fórmulas e colunas calculadas na pasta de trabalho, para refletir todas as alterações feitas nas fórmulas e nos dados subjacentes. O recálculo pode afetar o desempenho das seguintes formas:
Para uma coluna calculada, o resultado da fórmula sempre deve ser recalculado para a coluna inteira, todas as vezes que você alterar a fórmula.
Para uma medida, no entanto, os resultados de uma fórmula não são calculados até que a medida seja colocada no contexto da Tabela Dinâmica ou do Gráfico Dinâmico. A fórmula também será recalculada quando você alterar qualquer título de linha ou coluna que afete os filtros nos dados, ou quando você atualizar manualmente a Tabela Dinâmica.
Para obter mais informações, consulte os seguintes tópicos:
Voltar ao início