Função UNION DAX vs consulta de energia

Neste tutorial, você aprenderá uma técnica de otimização DAX usando a função UNION. Este tutorial irá comparar o desempenho da função UNION versus Power Query e outras técnicas para combinar tabelas.

A função combina duas tabelas em uma única tabela combinando suas linhas e removendo quaisquer linhas duplicadas.

O exemplo neste tutorial é uma tabela Sales que foi dividida em três tabelas para cada ano (2007, 2008, 2009).

Índice

A função UNION no DAX

Abra o DAX Studio e inicie o Server Timings and Query Plan.

Função UNION DAX vs consulta de energia

O código DAX abaixo é usado como exemplo:

Função UNION DAX vs consulta de energia

Depois de executar o código, vá para a guia Horários do servidor . Você pode ver que o código leva um total de 5,4 segundos para ser executado. A maior parte do tempo de execução foi gasta no Storage Engine . Cada uma dessas três consultas contém a mesma operação, mas os anos são diferentes.

Função UNION DAX vs consulta de energia

Após essas três consultas serem retornadas pelo Storage Engine, o Formula Engine realiza um UNION, que pode ser observado no Plano de Consulta Lógica. O Plano de consulta também executa um para calcular as vendas totais.

Função UNION DAX vs consulta de energia

No Plano de Consulta Física, você pode ver os três caches de dados contendo as operações realizadas para cada ano na tabela Vendas.

Função UNION DAX vs consulta de energia

Comparando o desempenho do DAX

Para construir a comparação, vamos criar uma medida para Total Sales usando a tabela Sales original.

Função UNION DAX vs consulta de energia

Se você executar esse código e acessar a guia Server Timings , verá que isso é significativamente mais eficiente do que a função UNION.

A função UNION consome 97,9 kilobytes, enquanto a nova medida consome apenas 1 KB.

Função UNION DAX vs consulta de energia

Quando você usa UNION, o mecanismo DAX retorna uma grande quantidade de cache de dados para o mecanismo de fórmula. Isso coloca muita pressão na RAM.

Portanto, se você estiver lidando com um modelo de dados contendo mais de um milhão de linhas, não é recomendável usar a função UNION

Alternativas de função UNION DAX

Em vez de usar UNION, você pode usar três funções SUMX para este exemplo. Ou seja, uma função SUMX para cada ano.

Função UNION DAX vs consulta de energia

Ao executar este código e ir para a guia Server Timings, você pode ver que o tempo de execução é significativamente menor. Passou de 5.400 ms para 33 ms enquanto ainda executava três consultas diferentes.

Função UNION DAX vs consulta de energia

Outra maneira é anexar a tabela do Modelo de Dados no Power Query ou na própria fonte de dados.

Mas a melhor opção é criar uma tabela calculada que fará a união dessas três tabelas. Mas esta opção tem seus prós e contras.

O uso de uma tabela calculada permite que você economize o tempo de processamento geral em vez de executar um acréscimo no Power Query. No entanto, isso fará com que o tamanho do banco de dados no VertiPaq aumente.

Ao usar uma tabela calculada, você está criando uma nova tabela que combina as três tabelas. Mas essas três tabelas divididas continuarão no banco de dados.

Função UNION DAX vs consulta de energia

Neste exemplo, as três tabelas consomem um total de 25 MB. Se você criar uma tabela calculada, ela consumirá outros 25 MB em sua RAM.

Para casos delicados como esses, você precisa tomar uma decisão informada sobre qual seria o melhor curso de ação a ser tomado.

Conclusão

A função UNION no DAX combina duas tabelas em uma, facilitando a análise dos dados. Ele funciona tomando duas tabelas como entrada e retornando uma nova tabela que contém todas as linhas de ambas as tabelas de entrada. No entanto, esta função tem suas próprias limitações.

A função UNION pode ser mais lenta do que outros métodos de combinação de dados, especialmente se as tabelas de entrada forem grandes. Também pode consumir mais espaço no armazenamento em oposição a outras alternativas.

Sempre que uma situação exigir que as tabelas sejam combinadas, é importante primeiro pesar os prós e os contras antes de decidir usar a função UNION. Suas alternativas incluem a função SUMX, uma tabela de modelo de dados ou uma tabela calculada.

Tudo de bom,

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.