Explicando o contexto de linha no LuckyTemplates

Eu descobri que a maioria das pessoas fica confusa em relação à compreensão de como o DAX funciona no contexto de linha . Isso ocorre porque o contexto de linha pode ser bastante complicado e desnecessariamente. Portanto, vamos abordar o contexto de linha ao longo deste artigo. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

A maneira como penso sobre o contexto de linha é por meio de iterações ou funções de iteração . Assim que fiz essa distinção em minha mente, ela fez mais sentido em termos do que realmente estava acontecendo no mecanismo de cálculo.

Como recapitulação, discutimos que existem três tipos de contextos: o contexto de avaliação , o contexto de filtro e o contexto de linha .

Qualquer cálculo DAX funciona em um processo de duas etapas. O contexto de avaliação sempre vai primeiro e depois se ramifica em contexto de filtro ou contexto de linha, dependendo de qual função você escreve.

Índice

Compreendendo o Contexto da Linha

O contexto de linha tem tudo a ver com iteração.

Vou mostrar alguns exemplos e espero que isso ajude na sua compreensão do que o contexto de linha realmente faz no back-end.

Contexto de Linha VS Contexto de Filtro

Em nosso exemplo, a fórmula está sendo calculada por meio do contexto do filtro porque é uma agregação simples. Ele resume toda a coluna Quantidade após a colocação de todos os filtros iniciais.

Explicando o contexto de linha no LuckyTemplates

O filtro inicial na tabela Vendas é o Produto 1. Somando todas as quantidades vendidas, obtemos 165.

Explicando o contexto de linha no LuckyTemplates

Agora vou mostrar como obter exatamente o mesmo resultado, mas calculado de uma maneira muito diferente. Primeiro, vou criar uma nova medida para a quantidade vendida de iteração usando uma fórmula de iteração.

Explicando o contexto de linha no LuckyTemplates

Exemplos de funções de iteração incluem SUMX , AVERAGEX , MANYX e COUNTX . Neste caso, vamos usar SUMX .

A função SUMX me pediu para colocar em uma tabela, então vou colocar na tabela Sales. E então ele me pediu uma expressão, então eu apenas coloquei na coluna Quantidade.

Essa função é bem diferente da primeira função, mas obtenho exatamente o mesmo resultado quando a arrasto.

Explicando o contexto de linha no LuckyTemplates

Estamos obtendo exatamente os mesmos resultados aqui porque, em última análise, é o mesmo cálculo. Foi apenas calculado de uma maneira diferente.

Explicando o contexto de linha no LuckyTemplates

A Iteração da Quantidade Vendida foi calculada usando o contexto de linha , enquanto a Quantidade Total Vendida foi calculada usando o contexto do filtro .

Calculando a iteração da quantidade vendida usando o contexto de linha

Vamos agora passar passo a passo como a Iteração da Quantidade Vendida é calculada. Primeiro, você deve se lembrar de sair do contexto de avaliação inicial, que é o Produto 1 neste caso. E então, por meio do contexto de linha , estamos iterando em cada linha da tabela que especificamos.

Neste caso, estamos especificando a tabela Vendas e, em seguida, examinamos cada linha da coluna Quantidade.

Explicando o contexto de linha no LuckyTemplates

Durante a avaliação inicial, o Produto 1 seria determinado por tudo o que for filtrado na coluna ID do Produto. E então conta as linhas na coluna Quantidade. Toda vez que atinge uma linha, ele entra e salva o resultado na memória.

Depois de chegar ao final da tabela, ele faz uma avaliação de todos os resultados que estão salvos na memória e, em seguida, faz qualquer cálculo que você solicitar, que neste caso é SUMX .

Explicando o contexto de linha no LuckyTemplates

Por que usar um contexto de linha ou uma função de iteração?

Isso ocorre porque dentro de uma função de iteração você pode fazer coisas muito mais complexas. Você pode escrever alguma lógica muito avançada dentro.

Explicando o contexto de linha no LuckyTemplates

Por exemplo, para cada linha na tabela Vendas, a quantidade é multiplicada por 2. Você verá agora que o mesmo processo de cálculo está ocorrendo, mas estamos obtendo resultados diferentes.

Explicando o contexto de linha no LuckyTemplates

Isso ocorre porque, para cada linha, estamos escrevendo uma lógica diferente. Depois de passar por cada linha na coluna de quantidade, multiplicamos o valor por dois e, em seguida, ele é salvo na memória. No final disso, fazemos um SUM .

Também podemos escrever coisas diferentes aqui, incluindo lógica avançada, como a lógica IF ou SWITCH .

Explicando o contexto de linha no LuckyTemplates

Há montes e montes de exemplos de onde seria melhor usar uma função de iteração ou contexto de linha para fazer um cálculo em vez de uma função de agregação ou contexto de filtro .

Observações principais sobre a compreensão de contextos no LuckyTemplates

Para recapitular todas as coisas importantes sobre o contexto, lembre-se de que o cálculo no DAX funciona por meio de um processo de duas etapas. O primeiro passo é sempre o contexto de avaliação . Importa muito qual é o contexto da avaliação .

Depois de entender qual é o contexto de avaliação para qualquer resultado individual, o DAX se ramifica de duas maneiras diferentes. Ele pode calcular via contexto de filtro ou via contexto de linha.

Escolher qual contexto usar depende de qual fórmula você está escrevendo. Portanto, se você escrever uma fórmula de agregação simples , ela será calculada por meio do contexto do filtro . Mas se você escrever uma função de iteração como SUMX, ela calculará a fórmula por meio do contexto de linha .

Quando estiver um pouco mais avançado no DAX, você poderá ter vários contextos na mesma função. Mas antes de chegar lá, você realmente precisa entender o que é contexto em sua forma mais simples.

Conclusão

Compreender os tipos de contexto é absolutamente crucial à medida que você aprende DAX e deseja fazer um trabalho mais avançado. Quando você começa a escrever uma fórmula DAX realmente avançada, tem vários contextos trabalhando ao mesmo tempo e precisa entender o que cada parte individual dessa fórmula está fazendo para alcançar os resultados desejados.

Aqui estão alguns links recomendados para você aprender mais sobre a aplicação do contexto de linha dentro do LuckyTemplates:

Contexto de avaliação – (1.8) Guia definitivo para iniciantes do DAX

Contexto do filtro – (1.9) Guia definitivo para iniciantes do DAX

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.