Consultas DAX usando variáveis ​​e funções importantes

Este tutorial discutirá sobre variáveis, incluindo as funções e CALCULATE . Você entenderá como isso ajuda a aumentar o desempenho de suas consultas DAX e fornecer resultados precisos.

As variáveis ​​devem ser usadas tanto quanto possível porque podem localizar facilmente os códigos para otimização. Eles evitam que você obtenha saídas incorretas e economizam tempo procurando o erro. No entanto, às vezes, as variáveis ​​impedem que um valor seja recalculado. Assim, uma vez definidos com um valor, esse valor não pode ser alterado, nem mesmo por CALCULATE .

É importante saber onde você deve definir e usar variáveis ​​porque usá-las dentro e fora de uma iteração irá gerar resultados diferentes. Eles devem ser definidos perto de onde serão usados. Isso também ajuda a quebrar códigos longos, tornando-os mais fáceis de entender e depurar.

Índice

Criar consultas DAX com CALCULATE e FILTER

Existem diferentes métodos para obter resultados e respostas no DAX. Você precisa desenvolver seu próprio estilo e fluxo ao criar seu relatório para que possa se sentir confortável com o que está trabalhando. Mesmo que você tenha seu próprio estilo, você ainda precisa seguir as diretrizes específicas, que incluem o uso de CALCULATE em diferentes métodos, como FILTER .

FILTER pode enviar muitos dados não compactados para o mecanismo de fórmula e pode acionar um CallBackDataID. As medidas serão usadas aqui para mostrar os resultados de CALCULATE e FILTER . Isso também tem uma medida definida que é local para a consulta. Medidas definidas não podem ser encontradas no modelo de dados, mas podem desenvolver e solucionar problemas de seus códigos mais rapidamente.

Consultas DAX usando variáveis ​​e funções importantes

Na primeira linha, você pode ver uma medida que define uma variável para a data. Isso significa que ele filtra a tabela Fact para as datas que ocorrem em ou após 31 de março de 2016. Você também pode ver uma medida simples do Total Sales que itera a tabela Fact Sales e multiplica a Quantidade e o Preço Atual.

A próxima medida é usar dentro de . Se você se lembra do módulo CallBackDataID , usar um IF dentro da função SUMX criará um CallBackDataID .

Consultas DAX usando variáveis ​​e funções importantes

Essa medida está filtrando toda a tabela Fact Sales. Ele remove os filtros provenientes da tabela Data.

Consultas DAX usando variáveis ​​e funções importantes

Você deve ter cuidado ao filtrar uma tabela inteira porque também filtrará todas as colunas que estão de um lado do relacionamento um-para-muitos.

Esta medida é a mesma da medida anterior; a única diferença é que não filtra toda a tabela. Ele usa SUMX apenas para iterar uma tabela filtrada.

Consultas DAX usando variáveis ​​e funções importantes

Esta é outra medida que filtra a tabela Fact Sales, mas desta vez é apenas na coluna em que está.

Consultas DAX usando variáveis ​​e funções importantes

A última medida é usar CALCULATE e o modelo de dados para filtrar e recuperar dados.

Consultas DAX usando variáveis ​​e funções importantes

Execute e verifique cada medida

Primeiro, execute a medida IF . Certifique-se de limpar o cache antes de executar a consulta e ativar Horários do servidor e Plano de consulta.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

Embora forneça os dados corretos, o desempenho é lento por causa do CallBackDataID e das 3 durações.

Se você executar a medida que filtra toda a tabela Fact Sales, ainda poderá ver o CallBackDataID . Ele também gerará 15.003 linhas e fornecerá resultados incorretos.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

Ao executar a medida que não filtra toda a tabela Fact Sales, você obterá os resultados corretos. No entanto, você ainda verá o CallBackDataID e as 15.003 linhas materializadas, mas terá apenas 7 linhas de saída.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

Execute a próxima medida que filtra em uma coluna. Você obterá os resultados corretos e eliminará o CallBackDataID . Mas você ainda pode ver que materializou muitas linhas.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

Execute a medida CALCULAR . Você pode ver que materializou apenas 10 linhas e gerou os dados corretos em 5 milissegundos.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

É a mais rápida entre todas as medidas acima porque não tem o CallBackDataID e extraiu apenas 10 linhas. Isso mostra como CALCULAR é impressionante para obter resultados rápidos e precisos.

Se você executar todas as consultas ou medidas DAX, poderá ver qual é a mais lenta e a mais rápida com base na duração. Você também pode ver os resultados de cada medida.

Consultas DAX usando variáveis ​​e funções importantes

Consultas DAX usando variáveis ​​e funções importantes

Conclusão

Movendo os filtros para CALCULATE, você economizará tempo e materialização, pois o CallBackDataID será eliminado. Você não terá que iterar os dados duas vezes. Isso também maximizará o desempenho do seu DAX e ajudará você a melhorar suas habilidades de desenvolvimento.

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.