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.
Neste tutorial, você aprenderá como a função funciona no DAX usando o painel Horários do servidor e seu plano de consulta.
A função CROSSJOIN pode ser usada para criar um produto cartesiano de duas tabelas. Um produto cartesiano é um conjunto de todas as combinações possíveis de linhas de duas ou mais tabelas.
O código DAX abaixo será usado neste tutorial.
Você pode ver que a função CROSSJOIN resulta em uma combinação da marca e cor do produto, mesmo que algumas dessas combinações não existam na tabela de fatos . Isso resulta em uma tabela com um total de 176 linhas.
Na guia Horários do servidor, a primeira consulta recupera a Marca da tabela Produtos, enquanto a segunda consulta recupera a Cor.
No Plano de Consulta Lógica , a primeira linha retorna o resultado em forma de tabela. A segunda e a terceira linhas na tabela de produtos digitalizam a cor e a marca, respectivamente.
Depois que os dados são recebidos, o Formula Engine itera sobre a tabela e produz uma combinação de ambas as colunas. O CrossApply na Linha 2 corresponde à função CROSSJOIN.
Índice
Filtrar resultados CROSSJOIN em DAX
Você pode usar a função para filtrar os resultados de um CROSSJOIN. Por exemplo, você pode usá-lo para mostrar apenas produtos que são vermelhos.
No entanto, lembre-se de que você não pode colocar uma função CROSSJOIN dentro de um argumento FILTER .
Agora, se você executar este código e verificar a guia Server Timings, verá que o contexto do filtro não aparece como uma cláusula WHERE na consulta.
A função CROSSJOIN só pode ser resolvida pelo Formula Engine . O código não funciona pois fica entre FILTER e que são funções que só podem ser resolvidas pelo Storage Engine . Assim, o CROSSJOIN causou a quebra do loop entre essas duas funções.
Portanto, você precisa colocar a função FILTER dentro do argumento CROSSJOIN para que o filtro funcione.
Agora, se você executar este código e verificar a guia Server Timings, verá que a função FILTER agora é representada pela cláusula WHERE.
No plano de consulta lógica, você pode ver que, em vez do operador de filtro, é usado o filtro VertiPaq .
Isso ocorre porque a nova condição de filtro no código pode ser enviada para o mecanismo de armazenamento. Depois que o resultado é retornado, o argumento CROSSJOIN é executado dentro do Formula Engine.
O Operador IN
Você também pode usar o operador em vez do sinal de igual em um argumento FILTER.
O operador IN pode ser usado no argumento de expressão da função FILTER para filtrar uma tabela com base no fato de um valor estar contido em uma lista de valores ou em uma tabela.
Quando você usa a combinação FILTER – IN , o mecanismo DAX precisa executar um filtro IsEmpty que confirma se a cor do produto é vermelha ou preta.
Adicionar coluna de vendas totais no resultado CROSSJOIN DAX
Outras funções também podem ser usadas junto com CROSSJOIN.
Você pode usar a função para adicionar outra coluna em sua tabela e depois escrever o argumento da informação que deseja mostrar.
Neste exemplo, vamos adicionar uma coluna Total Sales.
Ao executar o código, os resultados ainda retornarão 176 linhas. No entanto, algumas combinações terão valores em branco na coluna Total de vendas. Isso ocorre porque essas combinações não têm uma linha correspondente na tabela Vendas.
Na guia Horários do servidor, o código primeiro seleciona a marca e a cor. Em seguida, soma o produto da Quantidade e do Preço Líquido de Vendas.
Nesse caso, o mecanismo DAX primeiro recupera todas as combinações de marca e cor existentes na tabela Produtos, junto com aquelas com uma linha correspondente na tabela Vendas. Em seguida, ele recupera as colunas de marca e cor separadamente.
No Plano de Consulta Física, você pode ver dois caches de dados; um para a marca e outro para a cor. Quando você multiplica seus registros totais, obtém 176 linhas.
Em seguida, é realizada uma pesquisa nessas 176 linhas para ver se elas têm um valor correspondente na tabela Vendas. Você pode ver que apenas 111 linhas têm valores. As outras 65 linhas retornarão espaços em branco.
Além disso, se você adicionar mais colunas no argumento CROSSJOIN, o resultado também retornará mais linhas.
Conclusão
A função DAX CROSSJOIN gera uma nova tabela combinando linhas de uma tabela com as linhas de outra. Essa função é semelhante à cláusula CROSS JOIN no SQL e pode ser usada para criar consultas mais complexas em seu modelo de dados.
Ele pode gerar uma lista de todas as combinações de valores possíveis de duas ou mais tabelas. Também pode ser usado para criar rapidamente uma nova tabela com um grande número de linhas, o que pode ser útil para análise de dados, teste ou benchmarking de desempenho.
No geral, a função CROSSJOIN é uma ferramenta útil em cenários onde você precisa combinar dados de várias tabelas ou gerar uma lista de todas as combinações possíveis.
Tudo de bom,
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.