Começando com DAX no Power BI



Este blog da Edureka ajuda você a começar com o Power BI DAX Basics ou Data Analytics Expressions se você for novo no Power BI com a sintaxe e exemplos.

Este blog é essencialmente projetado para usuários novos no e tem como objetivo fornecer um passeio rápido e fácil em uma linguagem de fórmula chamada Expressões de análise de dados (DAX) .Se você está familiarizado com as funções em MS Excel ou , muitas das fórmulas neste Power BI DAX Basics o artigo parecerá semelhante a você.

Dito isso, aqui estão os conceitos, que são parte integrante de todos , depois de aprender o que você deve ter um bom entendimento dos conceitos mais fundamentais em DAX.





Power BI DAX Basics: O que é DAX?

Então, vamos começar com o básico do Power BI DAX, ok?

É muito fácil criar relatórios usando o Power BI Desktop, que mostrará insights valiosos imediatamente.



Mas, e se você precisar analisar a porcentagem de crescimento em todas as categorias de produtos, para todos os diferentes intervalos de datas? Ou você precisa calcular o crescimento anual da sua empresa em relação aos gigantes do mercado?

Aprender DAX ajudará você a obter o máximo de seu e resolver problemas reais de negócios.

O DAX é composto por funções, operadores e constantes que podem ser colocados na forma de fórmulas para calcular valores com a ajuda de dados já presentes em seu modelo.



O Power BI DAX inclui uma biblioteca com mais de 200 funções, operadores e construções. Sua biblioteca oferece imensa flexibilidade na criação de medidas para calcular resultados para praticamente qualquer necessidade de análise de dados.

Noções básicas do Power BI DAX: como funciona?

Em primeiro lugar, deixe-me explicar como isso funciona.Devemos, na maior parte, estruturar nossa compreensão do Power BI DAX em torno de três conceitos fundamentais: Sintaxe , Contexto , e Funções .

Claro, existem outros conceitos importantes aqui, mas entender esses três fornecerá a melhor base sobre a qual você irá desenvolver suas habilidades.

Sintaxe

o Sintaxe é composto por vários componentes que constituem uma fórmula e como ela é escrita. euolhe para esta fórmula DAX simples.

Ao tentar entender uma fórmula DAX, geralmente é útil dividir cada um dos elementos em uma linguagem que você pensa e fala todos os dias. Portanto, esta fórmula inclui os seguintes elementos de sintaxe:

Sintaxe - Power BI DAX - Edureka

EU. Vendas totais é o nome da medida.

II. o operador de sinal de igual (=) indica o início da fórmula.

III. SOMA soma todos os números da coluna, Vendas [SalesAmount] .

IV. Existem estes parênteses () que cercam uma expressão contendo um ou mais argumentos. Todas as funções requerem pelo menos um argumento.

V. Vendas é a tabela referenciada.

NÓS. A argumento passa um valor para uma função. A coluna referenciada [Quantidade de vendas] é um argumento com o qual a função SUM conhece a coluna na qual deve agregar uma SUM.

Simplificando, você pode lê-lo como, ' Para a medida chamada Total Sales, calcule (=) a SOMA dos valores na coluna [SalesAmount] na tabela Sales. ”

e espadasO editor do Power BI DAX inclui um recurso de sugestões, que ajuda a criar fórmulas sintaticamente corretas, sugerindo os elementos certos.

Contexto

Contexto é um dos mais importantes dos 3 conceitos DAX. Quando se fala de contexto, isso pode se referir a um dos dois tipos Contexto de linha e Contexto de filtro .

Usado predominantemente ao falar de Medidas , a Contexto de linha é mais facilmente considerada a linha atual. Ele se aplica sempre que uma fórmula tem uma função que aplica filtros para identificar uma única linha em uma tabela.

Contexto de filtro é um pouco mais difícil de entender do que o contexto de linha. Você pode pensar mais facilmente no contexto de filtro como um ou mais filtros aplicados em um cálculo. oO contexto de filtro não existe no lugar do contexto de linha. Em vez disso, aplica-se além do anterior. Observe a seguinte fórmula DAX.

Esta fórmula inclui os seguintes elementos de sintaxe:

EU. O nome da medida Vendas da Loja .

II. o operador de sinal de igual (=) indica o início da fórmula.

III. o CALCULAR função avalia uma expressão, como um argumento.

IV. Parêntese () envolva uma expressão contendo um ou mais argumentos.

V. Uma medida [Vendas totais] na mesma tabela que uma expressão.

NÓS. PARA vírgula (,) separa o primeiro argumento de expressão do argumento de filtro.

VOCÊ ESTÁ VINDO. A coluna referenciada totalmente qualificada, Canal [ChannelName] é o nosso contexto de linha. Cada linha nesta coluna especifica um canal, Loja, Online, etc.

VIII. O valor particular, Loja é usado como um filtro. Este é o nosso contexto de filtro.

Esta fórmula garante este as medidas de vendas totais são calculadas apenas para linhas na coluna Canal [ChannelName] com o valor “Store”, como um filtro.

Funções

Funções são fórmulas predefinidas, estruturadas e ordenadas. Eles realizam cálculos usando argumentos transmitido a eles. Esses argumentos podem ser números, texto, valores lógicos ou outras funções.

Noções básicas do Power BI DAX: Colunas e medidas calculadas

Neste blog, vamos nos concentrar nas fórmulas do Power BI DAX usadas em cálculos, em Medidas e Colunas Calculadas .

Colunas Calculadas

Ao criar um modelo de dados no Power BI Desktop, você pode estender uma tabela criando novas colunas. O conteúdo das colunas é definido por uma expressão DAX, avaliada linha por linha ou no contexto da linha atual nessa tabela.

Em modelos de dados para DAX, no entanto, todas as colunas calculadas ocupam espaço na memória e são calculadas durante o processamento da tabela.

Esse comportamento é útil para resultar em uma melhor experiência do usuário, mas usa RAM preciosa e, portanto, é um mau hábito na produção porque cada cálculo intermediário é armazenado na RAM e desperdiça espaço precioso.

Medidas

Existe outra maneira de definir cálculos em um modelo DAX, útil se você precisar operar em valores agregados em vez de linha por linha. Esses cálculos são medidas. Um dos requisitos do DAX é que uma medida precisa ser definida em uma tabela. No entanto, a medida não pertence realmente à tabela. Assim, você pode mover uma medida de uma tabela para outra sem perder sua funcionalidade.

Colunas calculadas vs medidas

As medidas e as colunas calculadas usam expressões DAX. A diferença é o contexto de avaliação. Uma medida é avaliada no contexto da célula avaliada em um relatório ou em uma consulta DAX, enquanto uma coluna calculada é computada no nível da linha dentro da tabela à qual pertence.

Mesmo que pareçam semelhantes, há uma grande diferença entre as colunas calculadas e as medidas. O valor de uma coluna calculada é computado durante uma atualização de dados e usa a linha atual como um contexto que não depende da interação do usuário no relatório.

Portanto, você deve definir uma coluna calculada sempre que desejar fazer o seguinte

  • Coloque os resultados calculados em um fatiador ou veja os resultados em linhas ou colunas em uma tabela dinâmica (em oposição à área de valores) ou nos eixos de um gráfico, ou use o resultado como uma condição de filtro em uma consulta DAX.
  • Defina uma expressão estritamente vinculada à linha atual. Por exemplo, Preço * Quantidade não pode funcionar em uma média ou na soma das duas colunas.
  • Categorize texto ou números. Por exemplo, um intervalo de valores para uma medida.

Uma medida opera em agregações de dados definidos pelo contexto atual, que depende do filtro aplicado no relatório - como segmentação, linhas e seleção de colunas em uma tabela dinâmica ou eixos e filtros aplicados a um gráfico.

Portanto, você deve definir uma medida sempre que quiser exibir os valores de cálculo resultantes que refletem as seleções do usuário, como

  • Quando você calcula a porcentagem de lucro em uma determinada seleção de dados.
  • Quando você calcula as proporções de um produto em comparação com todos os produtos, mas mantendo o filtro por ano e região.

Noções básicas do Power BI DAX: Tipos de funções em DAX

1. Funções de agregação

MIN

Esta função DAX rretorna o valor numérico mínimo em uma coluna, ou entre duas expressões escalares.

Sintaxe

MIN()

Exemplo

=MIN([ResellerMargin])

MINA

Esta função DAX rretorna o valor mínimo em uma coluna, incluindo quaisquer valores lógicos e números representados como texto.

Sintaxe

MINA()

Exemplo

=MINA(([Código postal])

SIRIGAITA

Esta função DAX retornao valor numérico mínimo que resulta da avaliação de uma expressão para cada linha de uma tabela.

Sintaxe

SIRIGAITA(

,)

Exemplo

=SIRIGAITA(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

MAX

Esta função DAX rretorna o valor máximo em uma coluna, incluindo quaisquer valores lógicos e números representados como texto.

Sintaxe

tag html para inserir uma quebra de linha

MAX()

Exemplo

=MAX([ResellerMargin])

MAX

Esta função DAX rretorna o valor máximo em uma coluna, incluindo quaisquer valores lógicos e números representados como texto.

Sintaxe

MAX()

Exemplo

=MAX(([Código postal])

MAXX

Esta função DAX retornao valor numérico máximo que resulta da avaliação de uma expressão para cada linha de uma tabela.

Sintaxe

MAXX(

,)

Exemplo

=MAXX(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

SOMA

Esta função DAX adds todos os números em uma coluna.

Sintaxe

SOMA()

Exemplo

=SOMA(Vendas [escritório])

MÉDIA

Esta função DAX rretorna a média aritmética dos valores em uma coluna.

Sintaxe

MÉDIA()

Exemplo

=MÉDIA(InternetSales [ExtendedSalesAmount])

sumx

Esta função DAX returns a soma de uma expressão avaliada para cada linha em uma tabela.

Sintaxe

sumx(

,)

Exemplo

=sumx(FILTRO(InternetSales, InternetSales [SalesTerritoryID] =5), [Frete])

AVERAGEX

Esta função DAX ccalcula a média aritmética de um conjunto de expressões avaliadas em uma mesa.

Sintaxe

AVERAGEX(

,)

Exemplo

=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])

2. Funções de contagem

DISTINCTCOUNT

Esta é uma função DAX usada para retornar a contagem distinta de itens em uma coluna. Portanto, se houver vários números do mesmo item, esta função irá contá-lo como um único item.

Sintaxe

DISTINCTCOUNT()

Exemplo

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

CONTAGEM

Esta é uma função DAX usada para retornar a contagem de itens em uma coluna. Portanto, se houver vários números do mesmo item, esta função irá contá-lo como itens separados e não um único item.

Sintaxe

CONTAGEM()

Exemplos

=CONTAGEM([Data de envio])

CONT.valor

Esta é uma função DAX usada para retornar a contagem de itens, em uma coluna, que não está vazia.

Sintaxe

CONT.valor()

Exemplo

=CONT.valor('Revendedor' [telefone])

CONTAS

Esta é uma função DAX queconta o número de linhas na tabela especificada ou em uma tabela definida por uma expressão.

Sintaxe

CONTAS(

)

Exemplo

=CONTAS('Pedidos')

CONTAR EM BRANCO

Esta é uma função DAX queconta o número de células em branco em uma coluna.

Sintaxe

CONTAR EM BRANCO()

Exemplo

=CONTAR EM BRANCO(Revendedor [BankName])

3. Funções de data e hora

ENCONTRO

Esta função DAX rretorna a data especificada no formato Data-Hora.

Sintaxe

ENCONTRO(<ano>,<mês>,<dia>)

Exemplo

=ENCONTRO(2019,12, 17)

HORA

Esta função DAX rvolta a hora especificada como um número de 0 a 23 (12h00 a 23h00).

Sintaxe

HORA()

Exemplo

=HORA('Pedidos' [TransactionTime])

HOJE

Esta função DAX rretorna a data atual.

Sintaxe

HOJE()

AGORA

Esta função DAX rretorna a data e hora atuais no formato Data-Hora.

Sintaxe

AGORA()

EOMONTH

Esta função DAX returns a data no formato data-hora do último dia do mês, antes ou depois de um determinado número de meses.

Sintaxe

EOMONTH(,)

Exemplo

=EOMONTH('3 de março de 2008',1,5)

4. Funções matemáticas

SEÇÃO

Esta função DAX returns o valor absoluto do número dado.

Sintaxe

SEÇÃO()

Exemplo

=ABS ([DealerPrice] - [ListPrice])

EXP

Esta função DAX returns o valor de e elevado à potência do número fornecido.

Sintaxe

EXP()

Exemplo

= EXP ([Power])

FACTO

Esta função DAX returns o fatorial de um número.

Sintaxe

FACTO()

Exemplo

= FATO ([Valores])

LN

Esta função DAX returns o log natural do número fornecido.

Sintaxe

LN()

Exemplo

= LN ([Valores])

REGISTRO

Esta função DAX returns o log com a base do número fornecido.

Sintaxe

REGISTRO(,)

Exemplo

Todos os itens a seguir retornam o mesmo resultado, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Esta função DAX rretorna o valor de Pi.

Sintaxe

PI()

PODER

Esta função DAX returns o valor do primeiro argumento elevado à potência do segundo argumento.

Sintaxe

PODER(,<poder>)

Exemplo

= POWER (5,2)

QUOCIENTE

Esta função DAX realiza a divisão returns a parte inteira do quociente.

Sintaxe

QUOCIENTE(,)

Exemplo

= QUOTIENT (5,2)

PLACA

Esta função DAX retorna o sinal de um determinado número.

Sintaxe

PLACA()

Exemplo

= SINAL (([Preço de venda] - [Preço de custo]))

SQRT

Esta função DAX returns a raiz quadrada do número fornecido.

Sintaxe

SQRT()

Exemplo

= SQRT (25)

5. Funções lógicas

E

Esta função DAX executa um AND lógico (conjunção) em duas expressões. Para que AND retorne true, ambas as condições especificadas devem ser atendidas.

Sintaxe

E(,)

Exemplo

= SE (E (10>9, -10 <-1),'Tudo verdade','Um ou mais falsos'

Como ambas as condições, passadas como argumentos, para a função AND são verdadeiras, a fórmula retorna 'Todos Verdadeiros'.

OU

Esta função DAX realiza OR lógico (disjunção) em duas expressões. Para que OR retorne verdadeiro, qualquer uma das duas condições especificadas deve ser atendida.

Sintaxe

OU(,)

Exemplo

= SE (OU (10>9, -10> -1),'Verdade','Falso'

Como uma das condições, passada como argumento, para a função OR é verdadeira, a fórmula retorna 'Verdadeiro'.

NÃO

Esta função DAX executa NOT lógico (negação) na expressão dada.

Sintaxe

NÃO()

Exemplo

= NÃO ([CalculatedColumn1])

Para cada linha na Coluna 1 calculada, a função NOT retorna o oposto lógico do valor fornecido.

E SE

Esta função DAX testa uma série de entradas para aquela que cumpre a condição especificada no argumento.

Sintaxe

E SE(teste_lógico> ,, valor_se_falso)

Exemplo

= IF ([chamadas]<200,'baixo', IF ([chamadas]<300,'médio','Alto'))

IFERROR

Esta função DAX eavalia uma expressão e retorna um valor especificado se a expressão retornar um erro.

Sintaxe

IFERROR(valor, value_if_error)

Exemplo

= IFERROR (25/0,9999)

6. Funções de Informação

ESTÁ EM BRANCO

Esta função DAXretorna TRUE ou FALSE apóscverificando se um valor está em branco.

Sintaxe

ESTÁ EM BRANCO(<valor>)

Exemplo

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ISNUMBER

Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é numérico.

Sintaxe

ISNUMBER(<valor>)

Exemplo

= SE (ISNUMBER (0),'É o número','Não é número')

ISTEXT

Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é um texto.

Sintaxe

ISTEXT(<valor>)

Exemplo

= IF (ISTEXT ('texto'),'É Texto','Não é Texto')

ISNONTEXT

Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor não é texto.

Sintaxe

ISNONTEXT(<valor>)

Exemplo

= SE (ISNONTEXTO ('texto'),'Não é Texto','É Texto')

ISERROR

Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é um erro.

Sintaxe

ISERROE(<valor>)

Exemplo

é um tem um relacionamento

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount])

7. Funções de texto

CONCATENAR

Esta função DAX joins duas strings de texto em uma.

Sintaxe

CONCATENAR(,)

Exemplo

= CONCATENATE ('Olá', 'Mundo')

CONCATENATEX

Esta função DAXo resultado de uma expressão avaliada para cada linha em uma tabela.

Sintaxe

CONCATENATEX(

,, [delimitador])

Exemplo

= CONCATENATEX (Funcionários, [Nome] e ““ & [Sobrenome], “,”)

FIXO

Esta função DAX rdá um número ao número especificado de decimais e retorna o resultado como texto.

Sintaxe

FIXO(,,)

Exemplo

= CORRIGIDO ([PctCost],3,1)

SUBSTITUIR

Esta função DAXsubstitui parte de uma sequência de texto, com base no número de caracteres que você especificar, por uma sequência de texto diferente.

Sintaxe

SUBSTITUIR(,,,)

Exemplo

= REPLACE ('Novos Produtos' [Código do Produto],1,2,'OB')

PESQUISA

Esta função DAX rretorna o número de caracteres nos quais uma seqüência de texto específica é encontrada pela primeira vez.

Sintaxe

PESQUISA(, [, [] [,]])

Exemplo

= PESQUISA ('n','impressora')

A fórmula retorna 4 porque 'n' é o quarto caractere na palavra 'impressora'.

SUPERIOR

Esta função DAX retornauma string de texto em todas as letras maiúsculas.

Sintaxe

SUPERIOR()

Exemplo

= SUPERIOR (['Novos Produtos' [Código do Produto])

Power BI DAX Basics: Criando sua primeira medida

Pré-requisito: Você precisará abrir este dado arquivo do Power BI Desktop .

Uma vez que estou assumindo que este será o seu primeiro, estarei escrevendo este trecho em grandes detalhes para você acompanhar.

  1. Na lista de campos do Visualização de relatório , clique com o botão direito no Vendas mesa, seguido pelo Nova Medida .

  2. Substituir A medida digitando um novo nome de medida Vendas do trimestre anterior, no Barra de Fórmula .

  3. Nesta fórmula, você deseja usar o CALCULAR função. Então, após o sinal de igual, digite as primeiras letras CAL e, a seguir, clique duas vezes na função que deseja usar.

  4. A função CALCULATE tem pelo menos dois argumentos. O primeiro é a expressão a ser avaliada e o segundo é um Filtro .

  5. Depois da abertura parêntese ( para o CALCULAR função, tipo SOMA seguido por outro parêntese de abertura ( para passar um argumento para o SOMA função.

  6. Comece a digitar Sal e selecione Vendas [SalesAmount] , seguido por um parêntese de fechamento ) . Este é o primeiro argumento de expressão para nosso CALCULAR função.

  7. Digite um vírgula (,) seguido por um espaço para especificar o primeiro filtro e, em seguida, digite ANTERIOR QUARTO . Este será nosso filtro.

  8. Você vai usar o ANTERIOR QUARTO função de inteligência de tempo para filtrar SOMA resultados do trimestre anterior.

  9. Após o parêntese de abertura ( para a função PREVIOUSQUARTER, digite Calendário [DateKey] .

  10. o ANTERIOR QUARTO função tem um argumento, uma coluna que contém um intervalo contíguo de datas. No nosso caso, é o DateKey coluna na tabela Calendário.

  11. Certifique-se de que ambos os argumentos passados ​​para PREVIOUSQUARTER e a função CALCULATE estão fechados digitando dois parênteses fechados )) .

  12. Sua fórmula agora deve ser semelhante à seguinte
    Vendas do trimestre anterior = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))

  13. Clique na marca de seleção na barra de fórmulas ou pressione Enter para validar a fórmula.

Depois de adicionar isso ao seu modelo, voila! Você acabou de criar uma medida usando DAX, e não é fácil nisso.

O que esta fórmula faz é calcular as vendas totais do trimestre anterior, dependendo dos filtros aplicados em um relatório.

Então, vamos se tivéssemos que colocar Quantidade de vendas e nosso novo Vendas do trimestre anterior medir em um gráfico e, em seguida, adicionado Ano e QuarterOfYear Como Slicers, obteríamos algo como o seguinte

Agora que você tem uma compreensão básica dos conceitos do Power BI DAX, pode começar a criar fórmulas DAX para medidas por conta própria. Na verdade, pode ser um pouco complicado de aprender, masDAX existe há vários anos eexistem muitos recursos disponíveis na web. Depois de ler este blog e fazer algumas experiências, você pode aprender a encontrar soluções de negócios por meio do Power BI DAX.