Trabalhando com funções de iteração no DAX

Tenho visto alguma confusão com as funções de iteração no DAX sempre que trabalho com membros do LuckyTemplates no fórum. Por isso, faremos uma revisão do que pode ser alcançado usando essas funções e por que você deve usá-las. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Conforme você se aprofunda nas fórmulas DAX , usará essas funções de iteração muito mais do que pensa. Eles são muito mais versáteis do que funções de agregação simples como SUM ou AVERAGE .

Tenho alguns exemplos aqui e quero trabalhar com a lógica em cada um desses exemplos para que você possa entender muito bem o que realmente acontece quando a lógica é executada por meio dessas fórmulas.

O principal sobre a iteração de funções é que elas iteram por meio de algo.

Índice

Iteração Simples Usando SUMX

Trabalhando com funções de iteração no DAX

Nesse caso, quero resumir algo, mas quero iterar em todas as linhas dessa tabela Sales.

Trabalhando com funções de iteração no DAX

E então, em cada linha, quero executar essa lógica específica aqui.

Trabalhando com funções de iteração no DAX

Vamos pular rapidamente para nossa tabela Sales muito simples, onde desejo executar alguma lógica em cada linha. E então eu quero multiplicar Quantidade por Preço.

Trabalhando com funções de iteração no DAX

O preço não existe nesta tabela. E para este modelo específico, na verdade, está na tabela Produto.

Trabalhando com funções de iteração no DAX

A próxima coisa que preciso fazer é voltar à minha tabela Product e posso fazer isso com RELATED . Quando calculamos a quantidade vezes o preço relevante, fazemos isso para cada linha. Isso é exatamente o que está acontecendo dentro desta fórmula.

Esses são os conceitos-chave a serem lembrados quando começarmos a fazer coisas mais avançadas.

Uma abordagem alternativa para obter vendas usando o SUMX

Trabalhando com funções de iteração no DAX

Neste exemplo, fiz o SUMX iterar na tabela Sales novamente. Portanto, executamos essa lógica em cada linha e calculamos a quantidade vezes o preço em cada linha e, em seguida, agregamos assim que toda a iteração é concluída.

Trabalhando com funções de iteração no DAX

Você verá aqui que este resultado é exatamente o mesmo que os resultados do primeiro exemplo (SUMX Tutorial 2) ou o Total Sales.

Você pode colocar uma variedade de coisas diferentes aqui – pode ser uma medida e você pode ramificar com uma função de iteração. Você não precisa fazer referência a colunas específicas para realmente obter os cálculos corretamente.

Trabalhando com funções de iteração no DAX

Como você pode ver aqui, tudo o que fiz foi colocar uma medida (Total Sales) aqui e estou obtendo exatamente o mesmo resultado.

SUMX e funções lógicas

Trabalhando com funções de iteração no DAX

Estou usando SUMX aqui, mas também é relevante para AVERAGEX , MINX e MAXX . São todas coisas muito parecidas.

Outra coisa importante a lembrar com essas funções de iteração é que elas executam a lógica em cada linha e salvam o resultado na memória.

Depois que todos esses valores são salvos na memória, o cálculo abrangente é feito – como uma SUM ou uma AVERAGE .

Trabalhando com funções de iteração no DAX

De volta ao nosso exemplo, você pode ver aqui que o valor nesta coluna é um pouco menor do que nas colunas anteriores.

Trabalhando com funções de iteração no DAX

Com a função de iteração SUMX , desejo iterar em todas as linhas da tabela Sales. E em cada linha, quero calcular se essa venda específica é maior que US$ 2.000. Se for, quero calcular o Total de vendas dessa linha. Mas se o total da venda for menor que $ 2.000, quero retornar zero. Então, eu só quero calcular as vendas de maior valor.

Algumas pessoas irão sugerir que eu poderia apenas colocar a lógica dentro de uma coluna calculada. Mas não queremos fazer isso porque há uma maneira muito melhor de executar essa lógica dentro do DAX em vez de colocá-la fisicamente dentro de uma coluna.

Iterando Através de Tabelas

É aqui que as funções de iteração são realmente incríveis. Você não apenas pode iterar em uma tabela física como fizemos antes, mas também pode iterar em alguma outra tabela virtual inserida como parâmetro.

Trabalhando com funções de iteração no DAX

Vamos pensar que cada resultado aqui tem um contexto específico. Neste caso particular, temos o contexto do cliente.

Trabalhando com funções de iteração no DAX

Nesse contexto, desejo iterar em cada local e ver se um determinado cliente alcançou vendas acima de US$ 5.000.

Em caso afirmativo, quero calcular as vendas totais. Mas se não, quero que retorne zero.

Trabalhando com funções de iteração no DAX

Portanto, neste caso específico, estou calculando os locais de alto valor em que esse cliente está comprando e o total de vendas que ele está realizando nesses locais.

Trabalhando com funções de iteração no DAX

O que VALUES está fazendo aqui é criar uma tabela virtual. Portanto, o SUMX nem está trabalhando em nada físico aqui. Na verdade, está trabalhando em algo totalmente virtual.

Iteração simples usando MINX

Trabalhando com funções de iteração no DAX

Isso é semelhante aos exemplos anteriores, mas em vez de SUMX , vamos executar algum outro tipo de agregação assim que iterarmos cada linha.

Trabalhando com funções de iteração no DAX

Nesse caso específico, estamos anotando cada local para cada cliente e calculando o total de vendas de cada um desses locais.

Trabalhando com funções de iteração no DAX

Então queremos devolver o valor mínimo do local onde compraram.

Iteração simples usando MAXX

Trabalhando com funções de iteração no DAX

Também estou fazendo algo semelhante aqui apenas para mostrar a você a versatilidade das funções de iteração. Estou passando por cada local olhando para suas vendas, mas retornando o máximo dessas vendas locais, e é por isso que estamos vendo números mais altos aqui.

Conclusão

A principal coisa que eu queria abordar neste artigo é a variedade de opções que você tem dentro de uma função de iteração versus uma soma simples ou uma média.

Depois de começar a se aprofundar em cálculos mais complexos, você verá como essas funções específicas são essenciais para retornar valores em um nível de contexto.

Há tanta versatilidade e tantas maneiras de executar esses cálculos usando uma fórmula simples, se você souber como manipular os parâmetros.

Se você gostou de aprender sobre essas funções de iteração , pode navegar por esses links para obter mais informações sobre esse tópico:

Principais conceitos para funções de iteração no LuckyTemplates

Iterando a lógica por meio de tabelas virtuais – Conceitos avançados de DAX no LuckyTemplates

Desfrute de trabalhar com este.

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.