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.
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.
O filtro inicial na tabela Vendas é o Produto 1. Somando todas as quantidades vendidas, obtemos 165.
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.
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.
Estamos obtendo exatamente os mesmos resultados aqui porque, em última análise, é o mesmo cálculo. Foi apenas calculado de uma maneira diferente.
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.
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 .
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.
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.
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 .
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.
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.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
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.
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.
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.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
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
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.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.