Problema de desempenho no DAX Studio: CallBackDataID

Este tutorial discutirá sobre CallBackDataID , que é um problema de desempenho no DAX Studio. Você aprenderá o que ele faz e como afeta o desempenho de sua consulta DAX.

O mecanismo de armazenamento trabalha para fornecer dados ao mecanismo de fórmula na forma de um cache de dados. Mas quando o mecanismo de armazenamento não consegue avaliar uma expressão, ele solicita e chama de volta o mecanismo de fórmula para obter ajuda usando o CallBackDataID .

Ter um CallBackDataID em seu cálculo diminui o desempenho do DAX porque ele usa o armazenamento e o mecanismo de fórmula. No entanto, ainda é melhor do que ter apenas o mecanismo de fórmula fazendo todo o trabalho porque ele ainda funciona em dados compactados e não requer materialização.

Além disso, quando o mecanismo de fórmula está envolvido, os resultados não são armazenados em cache. Os caches melhoram a experiência do usuário ao executar uma consulta ou medida no LuckyTemplates.

Índice

Onde encontrar o CallBackDataID

CallBackDataID pode ser encontrado em Server Timings dentro do DAX Studio. Devido à sua importância, eles são destacados na instrução xmSQL. Quando você procura otimizar seu DAX, localizar o CallBackDataID é o melhor lugar para começar.

Outra técnica de otimização é aproveitar os filtros em sempre que possível. Usar CALCULATE nos filtros é melhor do que usar como uma tabela. FILTER é um iterador e quando você filtra uma tabela, ela será iterada por . A presença desses dois iteradores pode tornar sua consulta mais lenta.

Aqui estão dois exemplos de consultas com e sem CallBackDataID .

Problema de desempenho no DAX Studio: CallBackDataID

Esta é uma medida localizada que define as duas consultas acima.

Problema de desempenho no DAX Studio: CallBackDataID

A medida superior itera a tabela de vendas, multiplica o preço atual e a quantidade e, em seguida, soma. A medida inferior verifica se a Data de compra é maior ou igual a 31 de março de 2016. Ter uma função em uma medida cria um CallBackDataID porque não está usando CALCULATE .

Para testar isso, execute a consulta que possui o CallBackDataID . Certifique-se de limpar o cache e ativar os Horários do servidor e Planos de consulta antes de executá-lo.

Se você clicar na guia Horários do servidor na parte inferior, poderá ver que a primeira verificação está destacada. Isso ocorre devido à presença do CallBackDataID .

Problema de desempenho no DAX Studio: CallBackDataID

Você também pode ver o CallBackDataID na instrução xmSQL. A função IF na medida está além das capacidades do mecanismo de armazenamento, portanto, ela pede ajuda ao mecanismo de fórmula.

Problema de desempenho no DAX Studio: CallBackDataID

Como resolver o problema de desempenho

Se você executar a consulta que não possui um CallBackDataID , poderá ver que as varreduras não estão mais destacadas.

Problema de desempenho no DAX Studio: CallBackDataID

Isso ocorre porque o filtro CALCULATE está sendo enviado para o mecanismo de armazenamento. Ele não precisa mais da ajuda do mecanismo de fórmula porque pode funcionar sozinho.

Tanto quanto possível, tente usar filtros em CALCULATE . Ele otimiza o desempenho do DAX enviando a maior parte do trabalho para o mecanismo de armazenamento, tornando-o mais rápido.


Mecanismo de armazenamento no LuckyTemplates – Operadores VertiPaq e medidas de consultas
no LuckyTemplates: dicas e técnicas de otimização
VertiPaq Analyzer no DAX Studio | Tutorial do LuckyTemplates

Conclusão

Acertos de desempenho podem surgir se sua consulta for muito complexa para o mecanismo de armazenamento funcionar. Ele traz processos desnecessários como o CallBackDataID no cálculo e retarda o seu DAX. Você pode atenuá-lo usando filtros em CALCULATE .

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.