Funções do DAX
O DAX fornece vários tipos de funções, das quais faremos uma pequena explicação.
Funções de Data e Hora
Muitas das funções de data e hora do DAX são semelhantes às funções de data e hora do Excel. No entanto, as funções do DAX utilizam um tipo de dados datetime e podem utilizar valores de uma coluna como argumento. O DAX também inclui um conjunto de funções de time intelligence que lhe permitem manipular datas utilizando períodos de tempo, incluindo dias, meses, trimestres e anos e também criar e comparar cálculos acerca desses períodos.
DATE, DATEADD, DATEDIFF, DATETIME, DATEONLY, DAY, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, NOW, QUARTER, SECOND, TIMEONLY, TODAY, WEEK, YEAR
Funções de Filtro
As funções de filtro e valor encontram-se entre as mais complexas e poderosas do DAX, sendo bastante diferentes das funções do Excel. As funções de pesquisa funcionam utilizando tabelas e relações, como uma base de dados. As funções de filtragem permitem-lhe manipular o contexto de dados para criar cálculos dinâmicos.
ALL, ALLEXCEPT, ALLSELECTED, CALCULATE, CALCULATETABLE, DISTINCT, EARLIER, EARLIEST, FILTER, FILTERS, ISCROSSFILTERED, KEEPFILTER, RELATED, SELECTVALUE, VALUES
Funções Informativas
Uma função informativa observa a célula ou linha fornecida como um argumento e indica se o valor corresponde ao tipo esperado. Por exemplo, a função ISERROR devolve TRUE se o valor que referenciar contiver um erro.
CONTAINS, CUSTOMDATA, ISBLANK, ISERROR, ISEVEN, ISLOGICAL, ISNONTEXT, ISNUMBER, ISONORAFTER, ISTEXT, LOOKUPVALUE, USERNAME
Funções Lógicas
As funções lógicas agem sobre uma expressão para devolverem informações sobre os valores ou conjuntos existentes na expressão. Por exemplo, poderá utilizar a função IF para verificar o resultado de uma expressão e criar resultados condicionais.
AND, FALSE, IF, IFERROR, NOT, OR, SWITCH, TRUE
Funções Matemáticas e Trigonométricas
As funções matemáticas são muito semelhantes às funções matemáticas e trigonométricas do Excel.
ABS, CEILING, CURRENCY, (DAX) EXP, FACT, FLOOR, INT, ISO.CEILING, LN, LOG, LOG10, INT, MROUND, PI, POWER, QUOTIENT, RAND, RANDBETWEEN, ROUND, ROUNDDOWN, ROUNDUP, SIGN, SQRT, SUM, SUMX, TRUNC
Funções Estatísticas
Estas funções são muito semelhantes às funções de agregação utilizadas pelo Microsoft Excel, tais como somas, contagens e médias.
AVERAGE, AVERAGEA, AVERAGEX, COUNT, COUNTA, COUNTAX, COUNTBLANK, COUNTROWS, DISTINCTCOUNT, MAX, MAXA, MAXX, MIN, MINA, MINX, ROW, SAMPLE, STDEV, STDEVP, SUM, VAR, VARP, VARS
Funções de Texto
As funções de texto baseadas na biblioteca das funções de cadeia no Excel, mas foram modificadas para funcionarem com tabelas e colunas.
CONCATENATE, EXAT, FIND, FORMAT, LEFT, LENGTH, LOWER, LTRIM, REPLACE, RIGHT, RTRIM, SUBSTRING, UPPER, VALUE
Funções condicionais
IF, IN, SWITCH
Funções de conversão
INT, DECIMAL, FLOAT, TEXT
Comparação entre as Funções do DAX e as Funções do Excel
A biblioteca de funções do DAX é baseada na biblioteca de funções do Excel, no entanto, as duas bibliotecas têm muitas diferenças. Vamos, então, analisar as diferenças e as semelhanças entre as funções do Excel e as funções do DAX.
Muitas funções DAX têm o mesmo nome e o mesmo comportamento geral que as funções do Excel, mas foram modificadas para aceitarem tipos de entradas diferentes e, em alguns casos, podem devolver um tipo de dados diferentes. De uma maneira geral, não é possível utilizar funções DAX numa fórmula do Excel, nem utilizar fórmulas do Excel no Power Pivot sem algumas modificações.
As funções do DAX nunca utilizam uma referência ou um intervalo de células como referência; em vez disso, as funções do DAX utilizam uma coluna ou uma tabela como referência.
As funções do DAX de Data e Hora devolvem um tipo de dados datetime. Por seu lado, as funções de Data e Hora do Excel devolvem um número inteiro que representa uma data como um número de série.
Muitas das novas funções DAX devolvem uma tabela de valores ou efetuam cálculos com base numa tabela de valores como entrada. Por seu lado, o Excel não tem funções que devolvam uma tabela, mas algumas funções podem trabalhar com matrizes. A capacidade de referenciar facilmente tabelas e colunas é uma funcionalidade nova do Power Pivot.
O DAX fornece novas funções de pesquisa que são semelhantes às funções de pesquisa de matriz e vetor do Excel. No entanto, as funções do DAX exigem que seja estabelecida uma relação entre as tabelas. É esperado que os dados de uma coluna sejam sempre do mesmo tipo de dados. Se os dados não forem do mesmo tipo, o DAX altera toda a coluna para o tipo de dados que melhor acomoda todos os valores.