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?
- Noções básicas do Power BI DAX: como funciona?
- Power BI DAX Básico: Colunas e Medidas Calculadas
- Power BI DAX Basics: Tipos de funções em DAX
- Power BI DAX Basics: Criando sua primeira medida
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:
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
Exemplo Esta função DAX rretorna o valor máximo em uma coluna, incluindo quaisquer valores lógicos e números representados como texto. Sintaxe Exemplo Esta função DAX rretorna o valor máximo em uma coluna, incluindo quaisquer valores lógicos e números representados como texto. Sintaxe Exemplo 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 Exemplo Esta função DAX adds todos os números em uma coluna. Sintaxe Exemplo Esta função DAX rretorna a média aritmética dos valores em uma coluna. Sintaxe Exemplo Esta função DAX returns a soma de uma expressão avaliada para cada linha em uma tabela. Sintaxe Exemplo Esta função DAX ccalcula a média aritmética de um conjunto de expressões avaliadas em uma mesa. Sintaxe Exemplo 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 Exemplo 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 Exemplos Esta é uma função DAX usada para retornar a contagem de itens, em uma coluna, que não está vazia. Sintaxe Exemplo Esta é uma função DAX queconta o número de linhas na tabela especificada ou em uma tabela definida por uma expressão. Sintaxe Exemplo Esta é uma função DAX queconta o número de células em branco em uma coluna. Sintaxe Exemplo Esta função DAX rretorna a data especificada no formato Data-Hora. Sintaxe Exemplo Esta função DAX rvolta a hora especificada como um número de 0 a 23 (12h00 a 23h00). Sintaxe Exemplo Esta função DAX rretorna a data atual. Sintaxe Esta função DAX rretorna a data e hora atuais no formato Data-Hora. Sintaxe 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 Exemplo Esta função DAX returns o valor absoluto do número dado. Sintaxe Exemplo Esta função DAX returns o valor de e elevado à potência do número fornecido. Sintaxe Exemplo Esta função DAX returns o fatorial de um número. Sintaxe Exemplo Esta função DAX returns o log natural do número fornecido. Sintaxe Exemplo Esta função DAX returns o log com a base do número fornecido. Sintaxe Exemplo Esta função DAX rretorna o valor de Pi. Sintaxe Esta função DAX returns o valor do primeiro argumento elevado à potência do segundo argumento. Sintaxe Exemplo Esta função DAX realiza a divisão returns a parte inteira do quociente. Sintaxe Exemplo Esta função DAX retorna o sinal de um determinado número. Sintaxe Exemplo Esta função DAX returns a raiz quadrada do número fornecido. Sintaxe Exemplo 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 Exemplo 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 Exemplo Esta função DAX executa NOT lógico (negação) na expressão dada. Sintaxe Exemplo Esta função DAX testa uma série de entradas para aquela que cumpre a condição especificada no argumento. Sintaxe Exemplo Esta função DAX eavalia uma expressão e retorna um valor especificado se a expressão retornar um erro. Sintaxe Exemplo Esta função DAXretorna TRUE ou FALSE apóscverificando se um valor está em branco. Sintaxe Exemplo Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é numérico. Sintaxe Exemplo Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é um texto. Sintaxe Exemplo Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor não é texto. Sintaxe Exemplo Esta função DAXretorna TRUE ou FALSE apóscverificar se um valor é um erro. Sintaxe Exemplo Esta função DAX joins duas strings de texto em uma. Sintaxe Exemplo Esta função DAXo resultado de uma expressão avaliada para cada linha em uma tabela. Sintaxe Exemplo Esta função DAX rdá um número ao número especificado de decimais e retorna o resultado como texto. Sintaxe Exemplo 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 Exemplo Esta função DAX rretorna o número de caracteres nos quais uma seqüência de texto específica é encontrada pela primeira vez. Sintaxe Exemplo Esta função DAX retornauma string de texto em todas as letras maiúsculas. Sintaxe Exemplo 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. Na lista de campos do Visualização de relatório , clique com o botão direito no Vendas mesa, seguido pelo Nova Medida . Substituir A medida digitando um novo nome de medida Vendas do trimestre anterior, no Barra de Fórmula . 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. A função CALCULATE tem pelo menos dois argumentos. O primeiro é a expressão a ser avaliada e o segundo é um Filtro . 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. 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. Digite um vírgula (,) seguido por um espaço para especificar o primeiro filtro e, em seguida, digite ANTERIOR QUARTO . Este será nosso filtro. Você vai usar o ANTERIOR QUARTO função de inteligência de tempo para filtrar SOMA resultados do trimestre anterior. Após o parêntese de abertura ( para a função PREVIOUSQUARTER, digite Calendário [DateKey] . 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. Certifique-se de que ambos os argumentos passados para PREVIOUSQUARTER e a função CALCULATE estão fechados digitando dois parênteses fechados )) . Sua fórmula agora deve ser semelhante à seguinte 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.
SIRIGAITA(
,)
=SIRIGAITA(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])
MAX
tag html para inserir uma quebra de linha
MAX()
=MAX([ResellerMargin])
MAX
MAX()
=MAX(([Código postal])
MAXX
MAXX(
,)
=MAXX(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])
SOMA
SOMA()
=SOMA(Vendas [escritório])
MÉDIA
MÉDIA()
=MÉDIA(InternetSales [ExtendedSalesAmount])
sumx
sumx(
,)
=sumx(FILTRO(InternetSales, InternetSales [SalesTerritoryID] =5), [Frete])
AVERAGEX
AVERAGEX(
,)
=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])
2. Funções de contagem
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])
CONTAGEM
CONTAGEM()
=CONTAGEM([Data de envio])
CONT.valor
CONT.valor()
=CONT.valor('Revendedor' [telefone])
CONTAS
CONTAS(
)
=CONTAS('Pedidos')
CONTAR EM BRANCO
CONTAR EM BRANCO()
=CONTAR EM BRANCO(Revendedor [BankName])
3. Funções de data e hora
ENCONTRO
ENCONTRO(<ano>,<mês>,<dia>)
=ENCONTRO(2019,12, 17)
HORA
HORA()
=HORA('Pedidos' [TransactionTime])
HOJE
HOJE()
AGORA
AGORA()
EOMONTH
EOMONTH(,)
=EOMONTH('3 de março de 2008',1,5)
4. Funções matemáticas
SEÇÃO
SEÇÃO()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([Power])
FACTO
FACTO()
= FATO ([Valores])
LN
LN()
= LN ([Valores])
REGISTRO
REGISTRO(,)
Todos os itens a seguir retornam o mesmo resultado, 2.
= LOG (100,10)
= LOG (100)
= LOG10 (100)
PI
PI()
PODER
PODER(,<poder>)
= POWER (5,2)
QUOCIENTE
QUOCIENTE(,)
= QUOTIENT (5,2)
PLACA
PLACA()
= SINAL (([Preço de venda] - [Preço de custo]))
SQRT
SQRT()
= SQRT (25)
5. Funções lógicas
E
E(,)
= 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
OU(,)
= 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
NÃO()
= NÃO ([CalculatedColumn1])
Para cada linha na Coluna 1 calculada, a função NOT retorna o oposto lógico do valor fornecido.
E SE
E SE(teste_lógico> ,, valor_se_falso)
= IF ([chamadas]<200,'baixo', IF ([chamadas]<300,'médio','Alto'))
IFERROR
IFERROR(valor, value_if_error)
= IFERROR (25/0,9999)
6. Funções de Informação
ESTÁ EM BRANCO
ESTÁ EM BRANCO(<valor>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])
ISNUMBER
ISNUMBER(<valor>)
= SE (ISNUMBER (0),'É o número','Não é número')
ISTEXT
ISTEXT(<valor>)
= IF (ISTEXT ('texto'),'É Texto','Não é Texto')
ISNONTEXT
ISNONTEXT(<valor>)
= SE (ISNONTEXTO ('texto'),'Não é Texto','É Texto')
ISERROR
ISERROE(<valor>)
é 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
CONCATENAR(,)
= CONCATENATE ('Olá', 'Mundo')
CONCATENATEX
CONCATENATEX(
,, [delimitador])
= CONCATENATEX (Funcionários, [Nome] e ““ & [Sobrenome], “,”)
FIXO
FIXO(,,)
= CORRIGIDO ([PctCost],3,1)
SUBSTITUIR
SUBSTITUIR(,,,)
= REPLACE ('Novos Produtos' [Código do Produto],1,2,'OB')
PESQUISA
PESQUISA(, [, [] [,]])
= PESQUISA ('n','impressora')
A fórmula retorna 4 porque 'n' é o quarto caractere na palavra 'impressora'.
SUPERIOR
SUPERIOR()
= SUPERIOR (['Novos Produtos' [Código do Produto])
Power BI DAX Basics: Criando sua primeira medida
Vendas do trimestre anterior = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))