Dividir coluna do LuckyTemplates por delimitadores no DAX

Dividir coluna do LuckyTemplates por delimitadores no DAX

No blog de hoje, você aprenderá como usar o LuckyTemplates para dividir colunas por delimitadores usando DAX. Isso é algo que você provavelmente saberia fazer facilmente usando o Power Query, e geralmente é a melhor maneira de fazer isso. 

Porém, devido à natureza dinâmica do problema e às considerações específicas do modelo de dados, há situações em que o uso do DAX fornece uma solução melhor. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Índice

Exemplo de problema

Este é o problema de amostra no LuckyTemplates.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Você tem uma lista de cerca de 600 títulos de filmes e deseja identificar as palavras mais comuns entre eles. Para fazer isso, você usará o controle deslizante de parâmetro mostrado abaixo para calcular as palavras de cada título.

Dividir coluna do LuckyTemplates por delimitadores no DAX

No controle deslizante, você pode definir quantas palavras principais deseja retornar. Para este tutorial, digamos que você o defina para cinco palavras.

Seu próximo objetivo é retornar todos os títulos que tenham pelo menos uma das cinco palavras selecionadas. Fazer isso pode parecer simples, mas é um pouco mais complicado do que parece. Então, aqui estão os passos para atingir esses objetivos.

Etapas sobre como dividir colunas usando delimitadores

Esta seção ensinará como resolver o problema especificado dividindo colunas no DAX. A primeira etapa é abrir os dados do filme clicando no segundo ícone no lado esquerdo e, em seguida, em Filme no Painel de Campos. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Na lista de filmes que aparecerão, você precisa pensar em maneiras de dividir os títulos em palavras individuais.

Uma solução possível é usar duas tabelas virtuais conforme mostrado abaixo. A Tabela 1 é uma tabela de uma coluna das principais N palavras definidas pelo controle deslizante. A segunda tabela é uma coluna virtual das palavras em cada título de filme. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Então, usando as duas tabelas virtuais, você pode usar a função para determinar quais palavras são comuns entre elas. A seguir, faça naquela mesa virtual para saber se aquele número é maior ou igual a um. 

Se a resposta for sim, pelo menos uma das palavras-alvo está no título do filme. E são esses títulos que queremos manter no resultado final. 

Encontrando ferramentas úteis de coluna dividida do LuckyTemplates no guia SQLBI DAX

Para pensar sobre como você pode implementar isso, você pode consultar o SQLBI DAX Guide acessando External Tools e DAX Guide

Dividir coluna do LuckyTemplates por delimitadores no DAX

Nesta página, você pode pesquisar funções por tipo clicando em Grupos.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Em Funções , você pode começar com Texto para ver se há alguma função de texto semelhante à divisão de colunas por delimitadores. Isso tornaria as coisas muito fáceis, mas, infelizmente, não há nada que corresponda a isso no DAX.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Em vez disso, o que você usará são as que fazem a mesma coisa que dividir pelo delimitador.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Funções de hierarquia pai-filho

As funções de hierarquia pai-filho ou as funções PATH são normalmente usadas para situações hierárquicas. Digamos que você precise de uma análise de RH em que tenha o CEO de uma empresa, os gerentes em nível de diretoria, os gerentes em nível de chefe de filial e assim por diante.

As funções PATH podem expressar essa hierarquia de uma maneira particular e atravessá-la para frente e para trás. Esse é o uso tradicional das funções de hierarquia pai-filho, mas você aprenderá que ele também possui algumas propriedades muito úteis para manipulação de texto e DAX.

Usá-lo é muito mais complicado do que o LuckyTemplates, mas esperamos facilitar o processo fornecendo uma solução passo a passo. É uma técnica útil para aprender e expõe você a uma família de funções DAX incrivelmente poderosas.

Dividir coluna do LuckyTemplates no DAX

As funções de hierarquia pai-filho envolvem várias etapas, mas vale a pena dar uma olhada porque essas cinco funções são realmente poderosas e flexíveis. 

Para começar, volte para a tabela e clique em do Filme no Painel de Campos. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Crie um caminho de filme usando o comando conforme mostrado abaixo.

Dividir coluna do LuckyTemplates por delimitadores no DAX

O que esse comando faz é substituir todos os espaços por um caractere de barra vertical. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Essa é a mesma maneira que os caminhos devem ser formatados no LuckyTemplates; portanto, normalmente isso é feito no Power Query. No entanto, você fez desta forma para ver os comandos , que são diferentes dos comandos M no Power Query. 

A função cria a estrutura de caminho que você precisa, enquanto o comando se livra de quaisquer espaços iniciais ou finais que possam afetar nossos resultados. 

Sua segunda coluna calculada é o comprimento do caminho. É um comando direto na função que você aplica ao caminho do filme. Ele informará quantos itens existem nesse caminho; portanto, neste caso, é o número de palavras no título. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

O mesmo comando pode ser usado para determinar, por exemplo, o número de pessoas na cadeia de subordinação. Mas este caso é apenas uma simples contagem de palavras. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

A próxima coisa a fazer é ir para Max Path Index no painel Fields. Em seguida, crie uma tabela calculada que percorra toda a tabela do filme, remova os filtros e calcule o tamanho máximo do caminho para saber o título mais longo no banco de dados.

Usando a função , você pode gerar uma série de índices com um para o caminho máximo contando por unidades. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

É assim que sua mesa deve ficar. Você verá em um minuto porque isso é valioso.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Por enquanto, volte para o LuckyTemplates e clique em Top Words in Film Path no painel Fields. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Vamos nos concentrar nesta mesa virtual cuja solução geral foi o diagrama de Venn mostrado anteriormente. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Vamos decompô-lo para entender melhor. Nas linhas abaixo, utilizamos a tabela virtual para as N principais palavras, conforme calculado abaixo. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Em seguida, a coluna dividida por delimitador é calculada nas linhas abaixo. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Em seguida, aplicamos a interseção dessas duas colunas. Se essa interseção for maior que zero, daremos a ela um ou então, zero. Por fim, retornamos o resultado.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Ao trabalhar com tabelas virtuais complexas, a maneira mais fácil é acessar o Tabular Editor , onde você pode materializar essas tabelas virtuais em uma consulta DAX. Para isso, você precisa se concentrar nas linhas destacadas abaixo. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Portanto, copie este código e deixe-o em nossa área de transferência para as próximas etapas. 

Processando colunas divididas do LuckyTemplates usando o editor tabular 3

Nas Ferramentas Externas, clique em Editor Tabular 3 . Você também pode usar o DAX Studio para isso, mas o Tabular Editor é recomendado por causa de suas funções de depuração adicionais e outros recursos interessantes. Para consultas DAX, o DAX Studio também funcionará bem e é totalmente gratuito. 

De volta ao Editor Tabular, crie uma nova Consulta DAX clicando no ícone de papel na faixa de opções. Digite EVALUATE na linha 1, cole o código copiado e pressione F5.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Você obterá uma tabela com o caminho do filme e o caminho máximo para as duas primeiras colunas. Para a terceira coluna, você usará o comando e o caminho do filme para determinar qual é a primeira palavra para cada incremento do índice do caminho, de um a nove. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Este código retorna a primeira palavra apresentada na terceira coluna. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Tente ver um filme específico clicando no ícone Filtro no título da coluna Filmes[Caminho do filme] . Por exemplo, pegue um que seja um pouco mais longo, digamos Capitão América: O Soldado Invernal. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Na parte inferior da janela, você pode ver que EVALUATE retornou 1000 linhas

Dividir coluna do LuckyTemplates por delimitadores no DAX

Obtenha todas as linhas e, em seguida, volte e filtre Movies[Film Path] para o Capitão América novamente.

Dividir coluna do LuckyTemplates por delimitadores no DAX

Procure por Capitão América: O Soldado Invernal. Marque a caixa apropriada e clique em Fechar.

Dividir coluna do LuckyTemplates por delimitadores no DAX

O que ele faz exatamente para cada título é percorrer e aplicar de um a nove índices, conforme visto na segunda coluna, e depois aplicá-lo ao comando

Você pode ver que o primeiro item é Captain , o segundo item é America , o terceiro é The , o quarto é Winter e o último item é Soldier . Quando você vai de seis para nove, está em branco porque ultrapassou o número de palavras naquele título específico. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

O que você criou é uma coluna dividida por delimitador, que é exatamente igual à divisão por delimitador no Power Query. 

No LuckyTemplates, você pode ver o comando que passa pela interseção e a instrução IF. Portanto, se você voltar ao seu conjunto de dados e abrir o painel Filtros, poderá ver que a palavra principal no filme é filtrada para que seja igual a um. 

Dividir coluna do LuckyTemplates por delimitadores no DAX

Isso basicamente diz que tudo na tabela da direita (Filme) que tiver uma palavra que esteja na lista de alvos da tabela da esquerda será listado nas linhas superiores. Por outro lado, os que são zero serão colocados para baixo.

Dividir coluna do LuckyTemplates por delimitadores no DAX


Matrizes e função de divisão do Power Automate
Divisão de coluna do LuckyTemplates Tutorial do Power Query: como dividir células do Excel com várias linhas no LuckyTemplates
Criar uma lista delimitada no Power Query – Tutorial do editor de consultas

Conclusão

Neste blog, você aprendeu como dividir colunas por delimitador no DAX. Você achará essa ferramenta realmente útil quando sua situação for muito dinâmica ou seu modelo de dados não for compatível com o Power Query.

Além disso, o problema de amostra em que você trabalhou é uma boa ilustração do poder incomum dos comandos PATH e como você pode usá-los para resolver problemas de maneiras não tradicionais.


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.

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Apresentar insights usando a técnica de visuais dinâmicos multithread no LuckyTemplates

Este tutorial abordará como usar a técnica Multi Threaded Dynamic Visuals para criar insights de visualizações de dados dinâmicos em seus relatórios.

Introdução ao contexto de filtro no LuckyTemplates

Introdução ao contexto de filtro no LuckyTemplates

Neste artigo, analisarei o contexto do filtro. O contexto do filtro é um dos principais tópicos sobre os quais qualquer usuário do LuckyTemplates deve aprender inicialmente.

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Melhores dicas para usar os aplicativos no serviço online do LuckyTemplates

Quero mostrar como o serviço online do LuckyTemplates Apps pode ajudar no gerenciamento de diferentes relatórios e insights gerados de várias fontes.

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Analisar alterações de margem de lucro ao longo do tempo – Analytics com LuckyTemplates e DAX

Aprenda a calcular suas alterações de margem de lucro usando técnicas como ramificação de medida e combinação de fórmulas DAX no LuckyTemplates.

Ideias de materialização para caches de dados no DAX Studio

Ideias de materialização para caches de dados no DAX Studio

Este tutorial discutirá sobre as ideias de materialização de caches de dados e como elas afetam o desempenho dos DAXs no fornecimento de resultados.

Relatórios de negócios usando o LuckyTemplates

Relatórios de negócios usando o LuckyTemplates

Se você ainda estiver usando o Excel até agora, este é o melhor momento para começar a usar o LuckyTemplates para suas necessidades de relatórios de negócios.

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber

O que é o Gateway do LuckyTemplates? Tudo o que você precisa saber