Funções DAX - Guia rápido
DAX significa Data Aanálise Expressões. DAX é uma linguagem de fórmula e é uma coleção de funções, operadores e constantes que podem ser usados em uma fórmula ou expressão para calcular e retornar um ou mais valores. DAX é a linguagem de fórmula associada ao Modelo de Dados do Microsoft Excel Power Pivot e ao Microsoft Power BI.
DAX não é uma linguagem de programação, no entanto, é uma linguagem de fórmula que permite aos usuários definir cálculos personalizados em colunas e campos calculados (também conhecidos como medidas). DAX ajuda a criar novas informações a partir dos dados existentes em seu modelo de dados. As fórmulas DAX permitem que você execute modelagem de dados, análise de dados e use os resultados para relatórios e tomada de decisões.
Para uma compreensão aprofundada do DAX, consulte o tutorial - DAX nesta biblioteca de tutoriais.
O que é uma função DAX?
Uma função DAX é uma função incorporada fornecida na linguagem DAX para permitir que você execute várias ações nos dados nas tabelas em seu Modelo de Dados.
As funções DAX permitem que você execute cálculos de dados comumente usados no Modelo de Dados. Algumas das funções DAX têm os mesmos nomes e funcionalidades das funções do Excel, mas foram modificadas para usar tipos de dados DAX e trabalhar com tabelas e colunas, conforme destacado na próxima seção. O DAX tem funções adicionais projetadas para funcionar com dados relacionais e realizar agregação dinâmica.
As funções DAX desempenham um papel importante no uso de DAX para modelagem e relatórios de dados.
Funções do Excel vs. funções DAX
Existem certas semelhanças entre as funções do Excel e as funções DAX e também existem algumas diferenças. A seguir estão as semelhanças e diferenças entre as funções do Excel e as funções DAX -
Semelhanças entre funções do Excel e funções DAX
Certas funções DAX têm o mesmo nome e o mesmo comportamento geral das funções do Excel.
O DAX tem funções de pesquisa semelhantes às funções de pesquisa de vetor e matriz do Excel.
Diferenças entre funções do Excel e funções DAX
As funções DAX foram modificadas para receber diferentes tipos de entradas e algumas das funções DAX podem retornar um tipo de dados diferente. Portanto, você precisa entender o uso dessas funções separadamente, embora tenham o mesmo nome.
Não é possível usar funções DAX em uma fórmula do Excel ou usar funções do Excel em fórmulas DAX sem as modificações necessárias.
As funções do Excel usam uma referência de célula ou um intervalo de células como referência. As funções DAX nunca usam uma referência de célula ou um intervalo de células como referência, mas, em vez disso, usam uma coluna ou tabela como referência.
As funções de data e hora do Excel retornam um número inteiro que representa uma data como um número de série. As funções de data e hora DAX retornam um tipo de dados datetime que está no DAX, mas não no Excel.
O Excel não tem funções que retornam uma tabela, mas algumas funções podem funcionar com matrizes. Muitas das funções DAX podem facilmente fazer referência a tabelas e colunas completas para realizar cálculos e retornar uma tabela ou coluna de valores. Essa capacidade de DAX adiciona energia ao Power Pivot, Power View e Power BI, onde DAX é usado.
As funções de pesquisa DAX exigem que um relacionamento seja estabelecido entre as respectivas tabelas.
Convenções de nomenclatura de parâmetros DAX
O DAX tem nomes de parâmetros padrão para facilitar o uso e a compreensão das funções DAX. Além disso, você pode usar certos prefixos para os nomes dos parâmetros. Se o prefixo for claro o suficiente, você pode usar o próprio prefixo como o nome do parâmetro.
Você precisa entender as convenções de nomenclatura de parâmetros DAX para entender a sintaxe das funções DAX e usar os valores para os parâmetros necessários corretamente.
Consulte o capítulo - Convenções de nomenclatura de parâmetros DAX para obter detalhes.
Tipos de funções DAX
DAX oferece suporte aos seguintes tipos de funções.
- Funções com valor de tabela DAX
- Funções de filtro DAX
- Funções de agregação DAX
- Funções DAX Time Intelligence
- Funções de data e hora DAX
- Funções de informação DAX
- Funções lógicas DAX
- Funções DAX Math e Trig
- Outras funções DAX
- Funções DAX pai e filho
- Funções estatísticas DAX
- Funções de texto DAX
- Funções de estrutura de descrição DAX
Funções com valor de tabela DAX
Muitas funções DAX usam tabelas como tabelas de entrada ou saída, ou ambas. Essas funções DAX são chamadas de funções com valor de tabela DAX. Como uma tabela pode ter uma única coluna, as funções com valor de tabela DAX também usam colunas únicas como entradas. Você tem os seguintes tipos de funções com valor de tabela DAX -
- Funções de agregação DAX
- Funções de filtro DAX
- Funções de inteligência de tempo DAX
Funções de agregação DAX
As funções de agregação DAX agregam qualquer expressão nas linhas de uma tabela e são úteis em cálculos.
Consulte o capítulo - Funções de agregação DAX para obter detalhes.
Funções de filtro DAX
As funções de filtro DAX retornam uma coluna ou uma tabela ou valores relacionados à linha atual. Você pode usar funções de filtro DAX para retornar tipos de dados específicos, pesquisar valores em tabelas relacionadas e filtrar por valores relacionados. As funções DAX Lookup funcionam usando tabelas e relacionamentos entre elas. As funções de filtro DAX permitem que você manipule o contexto de dados para criar cálculos dinâmicos.
Consulte o capítulo - Funções do filtro DAX para obter detalhes.
Funções DAX Time Intelligence
As funções DAX Time Intelligence retornam uma tabela de datas ou usam uma tabela de datas para calcular uma agregação. Essas funções DAX ajudam a criar cálculos que oferecem suporte às necessidades de análise de Business Intelligence, permitindo que você manipule dados usando períodos de tempo, incluindo dias, meses, trimestres e anos.
Consulte o capítulo - Funções DAX Time Intelligence para obter detalhes.
Funções de data e hora DAX
As funções de data e hora DAX são semelhantes às funções de data e hora do Excel. No entanto, as funções DAX Date e Time são baseadas no tipo de dados datetime de DAX.
Consulte o capítulo - Funções de data e hora DAX para obter detalhes.
Funções de informação DAX
As funções de informações DAX examinam a célula ou linha fornecida como argumento e informam se o valor corresponde ao tipo esperado.
Consulte o capítulo - Funções de informações DAX para obter detalhes.
Funções lógicas DAX
As funções lógicas DAX retornam informações sobre os valores em uma expressão. Por exemplo, a função DAX TRUE permite saber se uma expressão que você está avaliando retorna um valor TRUE.
Consulte o capítulo - Funções lógicas DAX para obter detalhes.
Funções DAX Math e Trig
As funções matemáticas e trigonométricas do DAX são muito semelhantes às funções matemáticas e trigonométricas do Excel.
Consulte o capítulo - Funções DAX Math e Trig para obter detalhes.
Funções DAX pai e filho
As funções DAX pai e filho são úteis no gerenciamento de dados que são apresentados como uma hierarquia pai / filho no modelo de dados.
Consulte o capítulo - funções pai e filho DAX para obter detalhes.
Funções estatísticas DAX
As funções estatísticas DAX são muito semelhantes às funções estatísticas do Excel.
Consulte o capítulo - Funções estatísticas DAX para obter detalhes.
Funções de texto DAX
As funções de texto DAX funcionam com tabelas e colunas. Com as funções DAX Text, você pode retornar parte de uma string, pesquisar texto em uma string ou concatenar valores de string. Você também pode controlar os formatos de datas, horas e números.
Consulte o capítulo - Funções de texto DAX para obter detalhes.
Outras funções DAX
Essas funções DAX executam ações exclusivas que não podem ser definidas por nenhuma das categorias às quais a maioria das outras funções pertence.
Consulte o capítulo - Outras funções DAX para obter detalhes.
Estrutura de descrição da função DAX
Se você tiver que usar uma função DAX em uma fórmula DAX, precisará entender a função em detalhes. Você deve saber a sintaxe da função, os tipos de parâmetro, o que a função retorna, etc.
Neste tutorial, uma estrutura de descrição de função comum é usada para todas as funções DAX para que você possa ler e interpretar as funções DAX com eficácia.
Consulte o capítulo - Estrutura de descrição da função DAX para obter detalhes.
O DAX tem nomes de parâmetros padrão para facilitar o uso e a compreensão das funções DAX. Além disso, você pode usar certos prefixos para os nomes dos parâmetros. Se o prefixo for claro o suficiente, você pode usar o próprio prefixo como o nome do parâmetro.
Para entender a sintaxe das funções DAX e usar os valores de dados de forma apropriada para os parâmetros de função DAX relevantes, você precisa entender as convenções de nomenclatura de parâmetros DAX.
Nomes de Parâmetros
A seguir estão os nomes dos parâmetros padrão DAX -
Sr. Não. | Nome e descrição do parâmetro |
---|---|
1 | expression Qualquer expressão DAX que retorna um único valor escalar, em que a expressão deve ser avaliada várias vezes (para cada linha / contexto). |
2 | value Qualquer expressão DAX que retorna um único valor escalar em que a expressão deve ser avaliada exatamente uma vez antes de todas as outras operações. |
3 | table Qualquer expressão DAX que retorna uma tabela de dados. |
4 | tableName O nome de uma tabela existente usando a sintaxe DAX padrão. Não pode ser uma expressão. |
5 | columnName O nome de uma coluna existente usando a sintaxe DAX padrão, geralmente totalmente qualificada. Não pode ser uma expressão. |
6 | name Uma constante de string que será usada para fornecer o nome de um novo objeto. |
7 | order Uma enumeração usada para determinar a ordem de classificação. |
8 | ties Uma enumeração usada para determinar o tratamento de valores de empate. |
9 | type Uma enumeração usada para determinar o tipo de dados para PathItem e PathItemReverse. |
Prefixando nomes de parâmetros ou usando apenas o prefixo
Você pode qualificar um nome de parâmetro com um prefixo -
O prefixo deve ser descritivo de como o argumento é usado.
O prefixo deve ser de forma que a leitura ambígua do parâmetro seja evitada.
Por exemplo,
Result_ColumnName - Refere-se a uma coluna existente usada para obter os valores de resultado na função DAX LOOKUPVALUE ().
Search_ColumnName - Refere-se a uma coluna existente usada para pesquisar um valor na função DAX LOOKUPVALUE ().
Você pode omitir o nome do parâmetro e usar apenas o prefixo, se o prefixo for claro o suficiente para descrever o parâmetro. Omitir o nome do parâmetro e usar apenas o prefixo às vezes pode ajudar a evitar a confusão durante a leitura.
Por exemplo, considere DATE (Year_value, Month_value, Day_value). Você pode omitir o nome do parâmetro - valor, que é repetido três vezes e escrevê-lo como DATA (ano, mês, dia). Como visto, usando apenas os prefixos, a função é mais legível. No entanto, às vezes o nome do parâmetro e o prefixo precisam estar presentes para maior clareza.
Por exemplo, considere Year_columnName. O nome do parâmetro é ColumnName e o prefixo é Year. Ambos são necessários para fazer o usuário entender que o parâmetro requer uma referência a uma coluna existente de anos.
Se você tiver que usar uma função DAX em uma fórmula DAX, precisará entender a função em detalhes. Você deve saber a sintaxe da função, os tipos de parâmetro, o que a função retorna, etc.
Para permitir que você entenda como ler e interpretar as funções DAX, uma estrutura de descrição de função uniforme é usada neste tutorial.
Os diferentes tipos de funções DAX são agrupados pelo nome do tipo das funções DAX como capítulos.
Cada um desses capítulos fornece uma breve descrição da utilidade dos respectivos tipos de funções DAX.
A breve descrição será seguida pela lista de funções DAX correspondentes a esse capítulo (Tipo / Categoria de funções DAX).
Cada nome de função DAX é um hiperlink para detalhes da função DAX que têm a seguinte estrutura de descrição da função DAX -
- Description
- Syntax
- Parameters
- Valor de retorno
- Remarks
- Example
As seções a seguir explicam cada um desses títulos que aparecem em cada explicação da função DAX.
Descrição
Na seção Descrição, você aprenderá sobre o que é a função DAX e onde ela pode ser usada.
Se a função DAX for introduzida no Excel 2016, a mesma será mencionada aqui. (O restante das funções DAX existem no Excel 2013.)
Sintaxe
Na seção Sintaxe, você aprenderá o nome exato da função e os respectivos parâmetros.
O nome da função DAX é fornecido em letras MAIÚSCULAS.
O nome da função DAX é seguido por parênteses de abertura.
Cada parâmetro segue a convenção de nomenclatura de parâmetro DAX padrão e está entre colchetes angulares.
Se um parâmetro for opcional, ele será colocado entre colchetes.
Os parâmetros são separados por vírgulas.
As reticências… são usadas para mostrar um número opcional de repetições de parâmetros.
A sintaxe da função termina com parênteses de fechamento.
Exemplo
Parâmetros
Na seção Parâmetros, cada um dos parâmetros da função DAX específica é listado em uma tabela com sua descrição. Por exemplo, os parâmetros da função DAX de exemplo acima, SELECTCOLUMNS, estão listados na tabela a seguir.
Sr. Não. | Parâmetro e Descrição |
---|---|
1 | Table Tabela ou uma expressão DAX que retorna uma tabela. |
2 | Name O nome dado à coluna, entre aspas duplas. |
3 | scalar_expression Expressão DAX que retorna um valor escalar como uma referência de coluna, número inteiro ou valor de string. |
Valor de retorno
Na seção Return Value, você aprenderá sobre qual valor a função DAX retornará e seu tipo de dados.
Observações
Na seção Comentários, você aprenderá sobre qualquer informação extra necessária sobre o uso da função DAX. Você também compreenderá os possíveis erros e os motivos.
Exemplo
Um exemplo do uso da função DAX é fornecido nesta seção.
Note - Ao escrever funções DAX com os valores de dados para os parâmetros, você seguirá as convenções de nomenclatura fornecidas abaixo -
Um nome de tabela é especificado conforme aparece no modelo de dados. Por exemplo, vendas.
Um nome de coluna é especificado conforme aparece no modelo de dados com colchetes envolvendo-o.
Por exemplo, [Valor das vendas]
Recomenda-se usar nomes totalmente qualificados para as colunas, ou seja, um nome de coluna é prefixado com o nome da tabela que o contém.
Por exemplo, Vendas [Valor das Vendas]
Se o nome da tabela contiver espaços, ele deve ser colocado entre aspas simples.
Por exemplo, 'Vendas Leste' [Valor das Vendas]
Uma função DAX pode retornar uma coluna ou tabela de valores, nesse caso, ela precisa ser usada como um parâmetro de outra função DAX que requer uma coluna ou tabela.
As funções de agregação DAX agregam qualquer expressão nas linhas de uma tabela e são úteis em cálculos.
A seguir estão as funções de agregação DAX -
- Função DAX ADDCOLUMNS
- Função DAX AVERAGE
- Função DAX AVERAGEA
- Função DAX AVERAGEX
- Função DAX COUNT
- Função DAX COUNTA
- Função DAX COUNTAX
- Função DAX COUNTBLANK
- Função DAX COUNTROWS
- Função DAX COUNTX
- Função DAX CROSSJOIN
- Função DAX DISTINCTCOUNT
- Função DAX GENERATE
- Função DAX GENERATEALL
- Função DAX MAX
- Função DAX MAXA
- Função DAX MAXX
- Função DAX MIN
- Função DAX MINA
- Função DAX MINX
- Função DAX PRODUCT
- Função DAX PRODUCTX
- Função DAX ROW
- Função DAX SELECTCOLUMNS
- Função DAX SUM
- Função DAX SUMMARIZE
- Função DAX SUMMARIZE com opções
- Função DAX SUMX
- Função DAX TOPN
Você pode usar funções de filtro DAX para retornar tipos de dados específicos, pesquisar valores em tabelas relacionadas e filtrar por valores relacionados. As funções de pesquisa funcionam usando tabelas e relacionamentos entre elas. As funções de filtro permitem que você manipule o contexto de dados para criar cálculos dinâmicos.
A seguir estão as funções do filtro DAX
- Função DAX ADDMISSINGITEMS
- Função DAX ALL
- Função DAX ALLEXCEPT
- Função DAX ALLNOBLANKROW
- Função DAX ALLSELECTED
- Função DAX CALCULATE
- Função DAX CALCULATETABLE
- Função DAX CROSSFILTER
- Função DAX DISTINCT
- Função DAX EARLIER
- Função DAX EARLIEST
- Função DAX FILTER
- Função DAX FILTERS
- Função DAX HASONEFILTER
- Função DAX HASONEVALUE
- Função DAX ISCROSSFILTERED
- Função DAX ISFILTERED
- Função DAX KEEPFILTERS
- Função DAX RELACIONADA
- Função DAX RELATEDTABLE
- Função DAX USERELATIONSHIP
- Função DAX VALUES
As funções DAX Time Intelligence ajudam a criar cálculos que suportam as necessidades de análise de Business Intelligence, permitindo que você manipule dados usando períodos de tempo, incluindo dias, meses, trimestres e anos.
A seguir estão as funções do DAX Time Intelligence
- DAX CLOSINGBALANCEMONTH function
- Função DAX CLOSINGBALANCEQUARTER
- Função DAX CLOSINGBALANCEYEAR
- Função DAX DATEADD
- Função DAX DATESBETWEEN
- Função DAX DATESINPERIOD
- Função DAX DATESMTD
- Função DAX DATESQTD
- Função DAX DATESYTD
- Função DAX ENDOFMONTH
- Função DAX ENDOFQUARTER
- Função DAX ENDOFYEAR
- Função DAX FIRSTDATE
- Função DAX FIRSTNONBLANK
- Função DAX LASTDATE
- Função DAX LASTNONBLANK
- Função DAX NEXTDAY
- Função DAX NEXTMONTH
- Função DAX NEXTQUARTER
- Função DAX NEXTYEAR
- DAX OPENINGBALANCEMONTH function
- Função DAX OPENINGBALANCEQUARTER
- Função DAX OPENINGBALANCEYEAR
- Função DAX PARALLELPERIOD
- Função DAX ANTERIOR
- Função DAX PREVIOUSMONTH
- Função DAX PREVIOUSQUARTER
- Função DAX PREVIOUSYEAR
- Função DAX SAMEPERIODLASTYEAR
- Função DAX STARTOFMONTH
- Função DAX STARTOFQUARTER
- Função DAX STARTOFYEAR
- Função DAX TOTALMTD
- Função DAX TOTALQTD
- Função DAX TOTALYTD
As funções de data e hora DAX são semelhantes às funções de data e hora do Excel. No entanto, as funções de data e hora DAX são baseadas no tipo de dados DAX datetime.
A seguir estão as funções DAX Data e Hora -
- Função DAX CALENDAR
- Função DAX CALENDARAUTO
- Função DAX DATE
- Função DAX DATEDIFF
- Função DAX DATEVALUE
- Função DAX DAY
- Função DAX EDATE
- Função DAX EOMONTH
- Função DAX HOUR
- Função DAX MINUTE
- Função DAX MONTH
- Função DAX NOW
- Função DAX SECOND
- Função DAX TIME
- Função DAX TIMEVALUE
- Função DAX TODAY
- Função DAX WEEKDAY
- Função DAX WEEKNUM
- Função DAX YEAR
- Função DAX YEARFRAC
As funções de informações DAX examinam o valor ou a coluna fornecida como argumento e informam se o valor corresponde ao tipo esperado.
A seguir estão as funções de informações DAX -
- Função DAX CONTAINS
- Função DAX CUSTOMDATA
- Função DAX ISBLANK
- Função DAX ISERROR
- Função DAX ISEMPTY
- Função DAX ISEVEN
- Função DAX ISLOGICAL
- Função DAX ISNONTEXT
- Função DAX ISNUMBER
- Função ISODD DAX
- Função DAX ISONORAFTER
- Função DAX ISTEXT
- Função DAX LOOKUPVALUE
- Função DAX USERNAME
As funções lógicas DAX retornam valores lógicos (TRUE / FALSE) com base nas operações lógicas realizadas nos parâmetros relevantes.
A seguir estão as funções lógicas DAX -
- DAX E função
- Função DAX FALSE
- Função DAX IF
- Função DAX IFERROR
- Função DAX NOT
- Função DAX OU
- Função DAX SWITCH
- Função DAX TRUE
As funções matemáticas e trigonométricas do DAX são muito semelhantes às funções matemáticas e trigonométricas do Excel.
A seguir estão as funções DAX Math e Trig -
- Função DAX ABS
- Função DAX ACOS
- Função DAX ACOSH
- Função DAX ASIN
- Função DAX ASINH
- Função DAX ATAN
- Função DAX ATANH
- Função DAX CEILING
- Função DAX COMBIN
- Função DAX COMBINA
- Função DAX COS
- Função DAX COSH
- Função DAX CURRENCY
- Função DAX DEGREES
- Função DAX DIVIDE
- Função DAX EVEN
- Função DAX EXP
- Função DAX FACT
- Função DAX FLOOR
- Função DAX GCD
- Função DAX INT
- Função DAX ISO.CEILING
- Função DAX LCM
- Função DAX LN
- Função DAX LOG
- Função DAX LOG10
- Função DAX MROUND
- Função DAX MOD
- Função DAX ODD
- Função DAX PERMUT
- Função DAX PI
- Função DAX POWER
- Função DAX QUOTIENT
- Função DAX RADIANS
- Função DAX RAND
- Função DAX RANDBETWEEN
- Função DAX ROUND
- Função DAX ROUNDDOWN
- Função DAX ROUNDUP
- Função DAX SIGN
- Função DAX SIN
- Função DAX SINH
- Função DAX SQRT
- Função DAX SQRTPI
- Função DAX TAN
- Função DAX TANH
- Função DAX TRUNC
As funções DAX pai e filho são úteis no gerenciamento de dados que são apresentados como uma hierarquia pai / filho no modelo de dados.
A seguir estão as funções pai e filho do DAX -
- Função DAX PATH
- Função DAX PATHCONTAINS
- Função DAX PATHITEM
- Função DAX PATHITEMREVERSE
- Função DAX PATHLENGTH
As funções estatísticas do DAX são muito semelhantes às funções estatísticas do Excel.
A seguir estão as funções estatísticas DAX -
- Função DAX BETA.DIST
- Função DAX BETA.INV
- Função DAX CHISQ.DIST
- Função DAX CHISQ.DIST.RT
- Função DAX CHISQ.INV
- Função DAX CHISQ.INV.RT
- Função DAX CONFIDENCE.NORM
- Função DAX CONFIDENCE.T
- Função DAX EXPON.DIST
- Função DAX GEOMEAN
- Função DAX GEOMEANX
- Função DAX MEDIAN
- Função DAX MEDIANX
- Função DAX PERCENTILE.EXC
- Função DAX PERCENTILE.INC
- Função DAX PERCENTILEX.EXC
- Função DAX PERCENTILEX.INC
- Função DAX POISSON.DIST
- Função DAX RANK.EQ
- Função DAX RANKX
- Função DAX SAMPLE
- Função DAX STDEV.P
- Função DAX STDEV.S
- Função DAX STDEVX.P
- Função DAX STDEVX.S
- Função DAX VAR.P
- Função DAX VAR.S
- Função DAX VARX.P
- Função DAX VARX.S
- Função DAX XIRR
- Função DAX XNPV
As funções de texto DAX funcionam com tabelas e colunas. Com as funções DAX Text, você pode retornar uma parte de uma string, pesquisar texto em uma string ou concatenar valores de string. Você também pode controlar os formatos de datas, horas e números.
A seguir estão as funções de texto DAX -
- Função DAX BLANK
- Função DAX CODE
- Função DAX CONCATENATE
- Função DAX CONCATENATEX
- Função DAX EXACT
- Função DAX FIND
- Função DAX FIXED
- Função DAX FORMAT
- Função DAX LEFT
- Função DAX LEN
- Função DAX LOWER
- Função DAX MID
- Função DAX REPLACE
- Função DAX REPT
- Função DAX RIGHT
- Função DAX SEARCH
- Função DAX SUBSTITUTE
- Função DAX TRIM
- Função DAX UPPER
- Função DAX VALUE
Essas funções DAX executam ações exclusivas que não podem ser definidas por nenhuma das categorias às quais a maioria das outras funções DAX pertence.
A seguir estão as outras funções do DAX -
- Função DAX EXCEPT
- Função DAX GROUPBY
- Função DAX INTERSECT
- Função DAX NATURALINNERJOIN
- Função DAX NATURALLEFTOUTERJOIN
- Função DAX SUMMARIZECOLUMNS
- Função DAX UNION
- Função DAX VAR