Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Clientes de relatórios como o Power BI e o Excel executam consultas DAX sempre que um campo é colocado em um relatório ou quando um filtro é aplicado. Usando SQL Server Management Studio (SSMS), Power BI Report Builder e ferramentas de código aberto, como o DAX Studio, você pode criar e executar suas próprias consultas DAX. As consultas DAX retornam resultados como uma tabela diretamente dentro da ferramenta, permitindo que você crie e teste rapidamente o desempenho de suas fórmulas DAX.
Antes de aprender sobre as consultas, é importante que você tenha uma compreensão sólida das noções básicas do DAX. Se ainda não fez isto, certifique-se de conferir a Visão geral do DAX.
As consultas DAX têm uma sintaxe simples composta por apenas uma palavra-chave necessária, EVALUATE, e várias palavras-chave opcionais: ORDER BY, START AT, DEFINE, MEASURE, VAR, TABLE e COLUMN. Cada palavra-chave define uma instrução usada durante a consulta.
No nível mais básico, uma consulta DAX é uma instrução EVALUATE que contém uma expressão de tabela. Pelo menos uma instrução EVALUATE é necessária, entretanto, uma consulta pode conter qualquer número de instruções EVALUATE.
EVALUATE <table>
Termo | Definição |
---|---|
tabela | Uma expressão de tabela. |
EVALUATE
'Internet Sales'
Retorna todas as linhas e colunas da tabela Vendas pela Internet como uma tabela.
A palavra-chave opcional ORDER BY define uma ou mais expressões usadas para classificar os resultados da consulta. Qualquer expressão que possa ser avaliada para cada linha do resultado é válida.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
Termo | Definição |
---|---|
expressão | Qualquer expressão DAX que retorne um único valor escalar. |
ASC | (padrão) Ordem de classificação crescente. |
DESC | Ordem de classificação decrescente. |
EVALUATE
'Internet Sales'
ORDER BY
'Internet Sales'[Order Date]
Retorna todas as linhas e colunas da tabela Vendas pela Internet, em ordem crescente por Data do Pedido, como uma tabela.
A palavra-chave opcional START AT é usada dentro de uma cláusula ORDER BY. Ela define o valor no qual os resultados da consulta começam.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
Termo | Definição |
---|---|
valor | Um valor constante. Não pode ser uma expressão. |
parâmetro | O nome de um parâmetro em uma instrução XMLA prefixada com um caractere @ . |
Os argumentos START AT têm uma correspondência de um para um com as colunas na cláusula ORDER BY. Pode haver tantos argumentos na cláusula START AT quanto na cláusula ORDER BY, mas não mais. O primeiro argumento no início em define o valor inicial na coluna 1 das colunas ORDER BY. O segundo argumento no início define o valor inicial na coluna 2 das colunas ORDER BY dentro das linhas que atendem ao primeiro valor para a coluna 1.
EVALUATE
'Internet Sales'
ORDER BY
'Internet Sales'[Sales Order Number]
START AT "SO7000"
Retorna todas as linhas e colunas da tabela Vendas pela Internet, em ordem crescente por Número do Pedido de Vendas, começando em SO7000.
A palavra-chave DEFINE opcional apresenta uma ou mais definições de entidade calculadas que existem apenas enquanto durar a consulta. As definições precedem a instrução EVALUATE e são válidas para todas as instruções EVALUATE na consulta. As definições podem ser variáveis, medidas, tabelas1 e colunas1. As definições podem fazer referência a outras definições que aparecem antes ou depois da definição atual. Pelo menos uma definição será necessária se a palavra-chave DEFINE estiver incluída em uma consulta.
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <table expression>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
Termo | Definição |
---|---|
Entidade | MEASURE, VAR, TABLE1 ou COLUMN1. |
name | O nome de uma medida, var, tabela ou definição de coluna. Não pode ser uma expressão. O nome não precisa ser exclusivo. O nome existe apenas durante a consulta. |
expressão | Qualquer expressão DAX que retorna um valor de tabela ou escalar. A expressão pode usar qualquer uma das entidades definidas. Se houver a necessidade de converter uma expressão escalar em uma expressão de tabela, encapsule a expressão dentro de um construtor de tabela com chaves {} ou use a função ROW() para retornar uma única tabela de linhas. |
[1]Cuidado: as definições TABLE e COLUMN com escopo de consulta são destinadas apenas para uso interno. Embora você possa definir expressões TABLE e COLUMN para uma consulta sem erro de sintaxe, elas podem produzir erros de runtime e não são recomendadas.
Uma consulta DAX pode ter várias instruções EVALUATE, mas pode ter apenas uma instrução DEFINE. As definições na instrução DEFINE podem ser aplicadas a qualquer instrução EVALUATE na consulta.
Pelo menos uma definição é necessária em uma instrução DEFINE.
As definições de medida para uma consulta substituem as medidas de modelo que têm o mesmo nome, mas que são usadas apenas dentro da consulta. Elas não afetarão a medida de modelo.
Os nomes do VAR têm restrições exclusivas. Para saber mais, consulte VAR – Parâmetros.
DEFINE
MEASURE 'Internet Sales'[Internet Total Sales] =
SUM ( 'Internet Sales'[Sales Amount] )
EVALUATE
SUMMARIZECOLUMNS (
'Date'[Calendar Year],
TREATAS (
{
2013,
2014
},
'Date'[Calendar Year]
),
"Total Sales", [Internet Total Sales],
"Combined Years Total Sales",
CALCULATE (
[Internet Total Sales],
ALLSELECTED ( 'Date'[Calendar Year] )
)
)
ORDER BY [Calendar Year]
Retorna o total de vendas calculadas para os anos 2013 e 2014 e o total de vendas calculadas combinadas para os anos 2013 e 2014, como uma tabela. A medida na instrução DEFINE, Total de Vendas pela Internet, é usada nas expressões Total de Vendas e Total de Vendas de Anos Combinados.
Uma instrução de consulta DAX bem definida pode ser parametrizada e usada repetidamente apenas com alterações nos valores de parâmetro.
O método Execute Method (XMLA) tem um elemento de coleção Elemento de Parâmetros (XMLA) que permite definir parâmetros e atribuir um valor. Na coleção, cada elemento do Elemento de Parâmetro (XMLA) define o nome do parâmetro e um valor para ele.
Faça referência a parâmetros XMLA prefixando o nome do parâmetro com um caractere @
. Em qualquer lugar na sintaxe em que um valor é permitido, esse valor pode ser substituído por uma chamada de parâmetro. Todos os parâmetros XMLA são digitados como texto.
Importante
Os parâmetros definidos na seção de parâmetros e não usados no elemento <STATEMENT> geram uma resposta de erro no XMLA. Os parâmetros usados e não definidos no elemento <Parameters> geram uma resposta de erro no XMLA.
Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoTreinamento
Roteiro de aprendizagem
Usar DAX no Power BI Desktop - Training
Esse caminho de aprendizado apresenta o recurso Expressões de Análises de Dados (DAX) e lhe fornece as habilidades fundamentais necessárias para aprimorar os modelos semânticos com cálculos. Ele começa descrevendo a estrutura de modelos do Power BI Desktop e como ela pode ser aprimorada com cálculos DAX. Em seguida, ele descreve como você pode escrever fórmulas DAX e os diferentes tipos de cálculos de modelo, inclusive tabelas e colunas calculadas, bem como as medidas. Os contextos de avaliação são introduz
Certificação
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstre métodos e boas práticas que se alinhem aos requisitos técnicos e comerciais para modelagem, visualização e análise de dados com o Microsoft Power BI.