Pular para o conteúdo principal
InicioTutoriaisPower BI

Como usar as funções SUMX do Power BI

Explore a função SUMX no Power BI, sua sintaxe, como ela funciona e as práticas recomendadas que você deve ter em mente.
abr. de 2024  · 8 min leer

Se você acabou de começar a aprender o Power BI com nosso curso de carreira de Analista de Dados no Power BI, talvez já conheça a função SUM básica do curso de introdução ao DAX (caso contrário, confira este rápido tutorial de DAX). Nesse caso, você também deve estar se perguntando o que é a função SUMX, como ela funciona e como pode usá-la em suas análises.

Este tutorial explorará a função SUMX, responderá a todas essas perguntas e o guiará na implementação dessa função no Power BI.

Ao examinar este e outros tutoriais do Power BI, lembre-se de que, embora talvez não seja necessário aprender programação como desenvolvedor de business intelligence ou do Power BI, isso pode ser um grande trunfo para sua carreira. Confira nosso artigo sobre se você deve aprender código como analista de BI para descobrir por quê.

O que é a função SUMX no Power BI?

A função SUMX no Power BI é uma poderosa função DAX usada para calcular a soma de uma expressão que é calculada para cada linha em uma tabela. Essa função é importante porque permite cálculos mais complexos do que uma simples soma.

Tenha em mãos nossa folha de dicas sobre DAX para obter uma referência rápida sobre muitas das funções DAX mais úteis que você encontrará.

image2.png

A sintaxe da função SUMX é

SUMX(Table, Expression)

  • Tabela: A tabela ou expressão de tabela sobre a qual a função itera.
  • Expressão: A expressão que é avaliada para cada linha da tabela. Essa expressão geralmente envolve dados de colunas na tabela.

SUMX é particularmente útil quando você precisa executar cálculos que dependem de valores de linhas individuais antes de somar os resultados. Por exemplo, calcular o total de vendas multiplicando a quantidade e o preço de cada transação ou aplicar diferentes taxas de desconto por produto antes de somar o total de vendas com desconto. Ela oferece flexibilidade e precisão em seus cálculos, o que a torna uma função muito importante para se aprender.

Como o SUMX funciona no Power BI

Veja a seguir um detalhamento de como a função SUMX funciona nos bastidores:

  • Quando SUMX é chamado, ele itera sobre as linhas da tabela especificada, uma a uma. Para cada linha, ele estabelece temporariamente um contexto de linha, que é um tipo de ambiente em que os valores da linha atual são diretamente acessíveis.
  • Nesse contexto de linha, a função avalia a expressão fornecida em seu segundo argumento. A expressão normalmente envolve um ou mais valores de outras colunas da linha atual. À medida que a função percorre a tabela, ela recalcula essa expressão para cada linha com base nos dados dessa linha.
  • À medida que o SUMX processa cada linha, ele agrega os resultados, mantendo um total em execução. O Power BI usa o mecanismo de análise na memória do DAX (VertiPaq), que é otimizado para cálculos como esse.
  • Depois de iterar por todas as linhas, SUMX finaliza o total agregado, que é a soma dos resultados individuais computados para cada linha. Esse valor final é então retornado como o resultado da função.

Compreensão de contextos

No Power BI, o contexto é crucial para entender como as funções DAX, como SUMX, operam. O contexto determina como os valores nos modelos de dados são calculados e exibidos. Confira nosso curso de introdução ao DAX, onde discutimos os contextos em mais detalhes. Com a função SUMX, há dois tipos principais de contexto a serem considerados: contexto de linha e contexto de filtro.

Contexto de linha

O contexto de linha refere-se ao ambiente em que as fórmulas DAX avaliam cada linha de uma tabela. Quando estiver em um contexto de linha, você poderá fazer referência direta a colunas da tabela, e as fórmulas DAX usarão o valor da linha atual nos cálculos.

Quando você usa o SUMX, ele cria e aproveita o contexto da linha para sua operação. Para cada linha da tabela especificada, SUMX avalia a expressão dada no contexto dessa linha específica.

Contexto do filtro

O contexto do filtro é um conjunto de filtros aplicados aos dados em um relatório do Power BI, como filtros de recursos visuais, divisores e filtros em nível de relatório. Esse contexto determina quais pontos de dados são considerados nos cálculos.

Embora o SUMX opere dentro do contexto de linha para seus cálculos linha a linha, esses cálculos ainda estão sujeitos ao contexto geral do filtro do relatório ou visual. Isso significa que as linhas iteradas por SUMX são aquelas que atendem aos critérios definidos pelo contexto atual do filtro.

Interação entre contextos no SUMX

Ao usar SUMX, a função respeita tanto o contexto da linha quanto o contexto do filtro. A tabela sobre a qual SUMX itera é moldada pelo contexto do filtro, enquanto o cálculo para cada linha é feito no contexto da linha.

Você pode usar uma medida no SUMX. Nesse caso, ocorre uma transição de contexto, em que o contexto da linha é temporariamente transformado em um contexto de filtro equivalente para avaliar a medida de cada linha.

Melhores práticas da SUMX

Ao usar a função SUMX no Power BI, considere algumas dessas práticas recomendadas:

  • Certifique-se de que seu modelo de dados esteja bem estruturado antes de aplicar o SUMX. Relacionamentos e esquemas de modelos adequadamente definidos são cruciais para relatórios precisos e otimizados do Power BI.
  • SUMX não é compatível com o modo DirectQuery quando usado em colunas calculadas ou regras de segurança em nível de linha.
  • Mantenha as expressões usadas no SUMX tão simples e eficientes quanto possível. Evite cálculos excessivamente complexos que reduzam o desempenho, especialmente com grandes conjuntos de dados.
  • Tenha em mente a transição de contexto e como ela pode afetar os resultados de sua função.
  • O SUMX considera apenas números. Espaços em branco, valores lógicos e texto são ignorados.

SUMX versus outras funções

Algumas funções são semelhantes a SUMX, e saber qual função usar e quando pode ser um pouco confuso. Vamos detalhar duas funções que causam mais confusão.

SUMX vs SUM

SUM é usado para calcular a soma de uma coluna em uma tabela e tem a seguinte sintaxe:

SUM(Column)

SUMX itera sobre cada linha para avaliar uma expressão, enquanto SUM agrega diretamente os valores de uma única coluna. Isso significa que o SUMX pode lidar com cálculos mais complexos envolvendo várias colunas.

No entanto, a natureza iterativa do SUMX o torna mais intensivo em recursos, especialmente com grandes conjuntos de dados, em comparação com o SUM. Lembre-se disso se estiver trabalhando com um modelo de dados grande e use SUM para somas simples.

SUMX vs CALCULATE

CALCULATE modifica o contexto do filtro em um cálculo e é uma das funções mais poderosas do DAX. Esta é a sintaxe da função CALCULATE:

CALCULATE(Expression, Filter1, Filter2,...)

CALCULATE é ideal para cenários em que você precisa realizar cálculos em condições de filtro diferentes das aplicadas atualmente ao relatório ou modelo. Por outro lado, SUMX é para cálculos em nível de linha seguidos de uma agregação.

Em cenários complexos, podemos usar CALCULATE com outras funções, como SUMX. Por exemplo, você pode usar CALCULATE para definir um contexto de filtro específico dentro do qual SUMX realiza seus cálculos e agregação em nível de linha.

Implementação do SUMX no Power BI: Guia passo a passo

Usando os dados de amostra do Power BI (disponíveis quando você instala o Power BI Desktop), demonstraremos como usar a função SUMX e como combinar SUMX com algumas outras funções DAX úteis.

Aqui está um instantâneo de nossos dados mostrando as vendas mensais de diferentes produtos em vários segmentos e países.

image4.png

Etapa 1: Criação de uma medida usando SUMX

Aqui está um exemplo clássico do poder do SUMX. Queremos usar o número de unidades vendidas, o preço por unidade e o valor de quaisquer descontos concedidos para calcular o valor total das vendas.

SUMX(Sales, (Sales[Units Sold] * Sales[Sale Price])-Sales[Discounts])

Aqui está uma tabela que mostra o resultado de nossa função SUMX. Como você pode ver, o total de vendas também pode ter um contexto de filtro aplicado - nesse caso, filtramos por Year e Product.

image1.png

Etapa 2: Aplicando filtros ao SUMX

Podemos usar filtros com a função SUMX de duas maneiras: com FILTER ou CALCULATE.

FILTER é usado para aplicar filtros específicos a uma tabela ou expressão no SUMX. Ele permite um controle mais granular sobre as linhas sobre as quais o SUMX itera.

SUMX(FILTER(Sales, Sales[Discount Band] = "High"), Sales[Units Sold])

CALCULATE modifica o contexto do filtro para a função SUMX, permitindo agregações condicionais complexas.

SUMX(Sales, CALCULATE(SUM(Sales[Units Sold]), Sales[Year] = 2020))

Etapa 3: Combinação de SUMX com outras funções

ALL e ALLEXCEPT

Essas funções são usadas para remover filtros de uma tabela ou de todas as tabelas, exceto as especificadas. Eles são frequentemente usados em CALCULATE e em combinação com SUMX para realizar cálculos em um conjunto de dados não filtrado.

SUMX(ALL(Sales), Sales[Sale Price] * Sales[Units Sold])

VALORES

VALUES retorna uma tabela de uma coluna com valores exclusivos de uma coluna. Você pode combiná-lo com SUMX para cálculos que exigem iteração sobre valores exclusivos.

SUMX(VALUES(Sales[Country]), [Total Sales])

AVERAGEX, MINX e MAXX

Essas são outras funções iterativas semelhantes a SUMX, mas usadas para calcular valores médios, mínimos ou máximos, respectivamente. Eles podem ser aninhados ou usados junto com o SUMX.

AVERAGEX(Customers, SUMX(RELATEDTABLE(Sales), Sales[Units Sold]))

IF e SWITCH

Funções lógicas como IF e SWITCH podem ser usadas no SUMX para realizar cálculos condicionais.

SUMX(Sales, IF(Sales[Country] = "Mexico", Sales[Units Sold], 0))

RELAÇÃO DE USUÁRIO

USERELATIONSHIP especifica uma relação específica a ser usada em um cálculo. É especialmente útil quando existem vários relacionamentos entre tabelas.

SUMX(CALCULATETABLE(Sales, USERELATIONSHIP(Date[Date], Sales[Date])), Sales[Units Sold])

Conclusão

Neste tutorial, analisamos os detalhes da função SUMX no Power BI e mostramos como implementá-la você mesmo. Além de ser uma função DAX flexível e poderosa, ela também demonstra a importância de compreender os contextos em DAX. Para saber mais, confira nossa trilha de habilidades de fundamentos do Power BI.

Temas

Comece sua jornada no Power BI hoje mesmo!

Certificação disponível

Course

Introdução ao Power BI

3 hr
339.8K
Domine os conceitos básicos do Power BI e aprenda a usar o software de visualização de dados para criar relatórios impactantes.
See DetailsRight Arrow
Start Course
Veja MaisRight Arrow
Relacionado

blog

O que é o Power BI? - Guia do Power BI para iniciantes

Saiba mais sobre as origens e o desenvolvimento dessa revolucionária ferramenta de business intelligence. Descubra por que os setores de todo o mundo confiam no Power BI para visualizar seus dados e informar sua tomada de decisões.

Wendy Gittleson

12 min

tutorial

Painéis e relatórios do Power BI: Um guia abrangente

Explore as principais diferenças e os recursos exclusivos dos painéis e relatórios do Power BI. Saiba como aproveitar as duas ferramentas de forma eficaz para análise de dados, visualização e tomada de decisões.
Maarten Van den Broeck's photo

Maarten Van den Broeck

8 min

tutorial

Tutorial do Power BI Calculate

Aprenda a usar a função CALCULATE do Power BI e dê exemplos de como você pode usá-la.
Joleen Bothma's photo

Joleen Bothma

6 min

tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

tutorial

Como instalar o Power BI

Saiba como instalar o Power BI em seu desktop por meio da Microsoft Store ou do centro de download do Power BI.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Como criar um mapa de calor do Power BI

Entenda todos os detalhes de como criar mapas de calor do Power BI e suas aplicações
Zoumana Keita 's photo

Zoumana Keita

9 min

See MoreSee More