Análise de medida DAX: detalhando medidas DAX longas

Neste tutorial, mostrarei algumas análises detalhadas de medidas DAX sobre como montei uma das minhas páginas favoritas no relatório que enviei para o 10º Desafio do LuckyTemplates.

A página de classificações usa muitas medidas DAX desafiadoras. Mas com a ajuda de um de nossos especialistas LuckyTemplates, Antriksh Sharma, além de algumas ramificações de medidas, consegui obter os resultados que desejava.

Índice

Visão geral da página de classificações

Antes de entrarmos em nossa análise de medida DAX, quero mostrar a você as diferentes partes da página em que estamos trabalhando hoje.

É assim que a página de Rankings se parece. Ao contrário das outras páginas do meu relatório, esta contém principalmente cartões.

Análise de medida DAX: detalhando medidas DAX longas

Cada um desses cartões foi feito usando o visual de cartão integrado na área de trabalho do LuckyTemplates no painel Visualizações.

Análise de medida DAX: detalhando medidas DAX longas

Ele permite que você navegue de volta para outras páginas do relatório por meio desses ícones aqui no topo.

Análise de medida DAX: detalhando medidas DAX longas

Discuti as outras páginas deste relatório nos outros tutoriais. Se você vir as outras páginas neste relatório, verá que elas também têm ícones que levam a esta página de classificações .

O lado esquerdo da página mostra as quatro principais fábricas e fornecedores gerais, enquanto o lado direito mostra os quatro últimos.

Análise de medida DAX: detalhando medidas DAX longas

Também criei medidas DAX individuais para obter resultados mais específicos. Esses três no topo, por exemplo, mostram as quatro principais e as quatro últimas fábricas e fornecedores com base nos minutos de inatividade , minutos médios de inatividade e defeitos .

Análise de medida DAX: detalhando medidas DAX longas

Fui ainda mais específico na parte inferior da página do relatório. No lado esquerdo, obtive as quatro fábricas superiores e inferiores com base em minutos de inatividade, minutos médios de inatividade e defeitos.

Análise de medida DAX: detalhando medidas DAX longas

À direita, fiz a mesma coisa, mas desta vez com base nos detalhes do fornecedor.

Análise de medida DAX: detalhando medidas DAX longas

À medida que passo por este tutorial, contarei a história de como tive a ideia para esta página. Em seguida, explicarei passo a passo como cada uma dessas medidas foi criada.

Obtendo ideias para as medidas DAX a serem usadas

Tive a ideia das medidas DAX neste slide de um de nossos , Antriksh. Ele é um guru DAX e é ótimo em otimizar medidas. Foi divertido trabalhar com ele nesta análise de medida DAX.

Cerca de duas semanas antes do anúncio do 10º Desafio do LuckyTemplates, conversamos no Skype sobre um arquivo PBIX que ele postou no Fórum LuckyTemplates.

Análise de medida DAX: detalhando medidas DAX longas

Como você pode ver, incluí uma foto de Antriksh porque ele foi a inspiração por trás da página que discutiremos aqui. Eu disse a ele que daria crédito a ele quando terminasse este tutorial.

O modelo é simples e usa alguns dados básicos como Cliente, Produtos e Vendas.

Análise de medida DAX: detalhando medidas DAX longas

Tem uma pequena lista de países no lado esquerdo.

Análise de medida DAX: detalhando medidas DAX longas

Antriksh criou uma medida para os N principais países por vendas . Eu tenho a lista classificada do maior para o menor, conforme indicado pela seta para baixo.

Análise de medida DAX: detalhando medidas DAX longas

À direita, há um cartão que mostra os quatro primeiros e os quatro últimos países. A lista dos quatro primeiros mostra os Estados Unidos , Austrália , Reino Unido e Alemanha , que correspondem aos quatro primeiros da lista.

Análise de medida DAX: detalhando medidas DAX longas

No entanto, os quatro últimos estão aparecendo na ordem oposta. Em vez de ir do fundo, que é a Armênia , começou na 5ª posição da lista, que é o Quirguistão .

Análise de medida DAX: detalhando medidas DAX longas

É por isso que fiz outro cartão na parte inferior que usa uma versão revisada da medida usada acima.

Análise de medida DAX: detalhando medidas DAX longas

Observe que os quatro últimos agora correspondem à ordem que eu queria – Armênia , Tailândia , Síria e Quirguistão .

Análise de medida DAX: detalhando medidas DAX longas

Vamos ver as medidas DAX por trás desses cartões. Vou começar com a medida que Antriksh criou para a 1ª carta.

Análise de medida DAX: detalhando medidas DAX longas

A medida original tem mais de 97 linhas para obter os resultados que vimos naquele primeiro cartão.

Análise de medida DAX: detalhando medidas DAX longas

Análise de medida DAX: detalhando medidas DAX longas

Quando rolamos para baixo até a 20ª linha, podemos ver que Antriksh usou ASC . Essa é a razão pela qual os quatro últimos apareceram dessa maneira.

Análise de medida DAX: detalhando medidas DAX longas

Agora que sei onde o problema começou, mostrarei como fica minha medida revisada.

Deixe-me destacar a segunda carta para que eu possa mostrar a medida por trás dela.

Análise de medida DAX: detalhando medidas DAX longas

Como você pode ver, existem apenas 41 linhas na minha fórmula revisada.

Análise de medida DAX: detalhando medidas DAX longas

Trabalhei com Antriksh para reduzi-lo em 60% ou 70% do que a medida original. Além de ser menos complicado, também me dá os resultados de que preciso - com os quatro primeiros começando do 1º ao 4º e os quatro últimos começando do 8º ao 5º.

Algumas semanas após minha discussão com Antriksh, o 10º Desafio do LuckyTemplates foi lançado. Parte dos requisitos envolvia um sistema de classificação, o que me fez pensar na medida DAX de Antriksh. Percebi que posso copiar e colar a medida e, em seguida, aplicar algumas ramificações de medida para obter os resultados de que preciso.

Dax Measure Analysis: Construindo a medida passo a passo

Agora, vou detalhar as medidas que usei para a página de Rankings para obter os resultados que eu queria. Essa análise de medida DAX pode me ajudar a explicar como a medida funciona, considerando quantas linhas foram necessárias para completá-la.

Em meus outros tutoriais, mostrei como gosto de agrupar minhas medidas para tornar as coisas mais organizadas . Então criei uma subpasta para Top N v2.

Análise de medida DAX: detalhando medidas DAX longas

Dentro desta pasta está a minha medida para os Minutos de Tempo de Inatividade dos N Principais Fornecedores de Plantas . Você verá que ele tem as mesmas 41 linhas de código que mostrei anteriormente ao discutir a medida de Antriksh. Basicamente, tudo o que tive que fazer foi substituir alguns itens para obter os resultados que desejo.

Para entender melhor, divido toda essa medida em 9 partes diferentes. Vou passar por cima de cada uma dessas etapas de um a nove e explicar o que cada uma delas está realizando.

Análise de medida DAX: detalhando medidas DAX longas

A medida usa uma série de variáveis ​​para que eu possa obter resultados mais claros. Definir essas variáveis ​​ajuda o usuário final a ver como a medida se encaixa e explica os detalhes de como obtive cada resultado.

Vamos começar com o primeiro passo, que define o chamado BaseTable.

Análise de medida DAX: detalhando medidas DAX longas

Nesta BaseTable, você pode ver que estou fazendo referência a os dados para Plant Location e Vendor .

Ao voltar ao arquivo PBIX, você verá o cartão superior que faz referência às fábricas e aos fornecedores. É por isso que preciso de todos os dados aqui, ao contrário do cartão mais abaixo, que também é para minutos de inatividade, mas usa apenas dados de localização da planta.

Análise de medida DAX: detalhando medidas DAX longas

Como a primeira etapa é simples, vamos passar para a etapa dois.

A segunda etapa começa com a função .

Análise de medida DAX: detalhando medidas DAX longas

Essa função faz referência à variável que criei na etapa 1 e aos minutos de inatividade .

Ele garante que um valor apareça reunindo as funções e . Também quero que os resultados sejam maiores ou iguais a zero. Isso ocorre porque o conjunto de dados usado para este relatório inclui algumas combinações em que a fábrica ou o fornecedor estão em branco. Também existem entradas em que o valor é zero.

A terceira etapa envolve ainda outro conjunto de variáveis, começando com o valor de N.

Análise de medida DAX: detalhando medidas DAX longas

Aqui, N é igual a 4 porque quero que os quatro primeiros e os quatro últimos apareçam.

Análise de medida DAX: detalhando medidas DAX longas

Ele também define um prefixo para Top & N, além de um traço.

Análise de medida DAX: detalhando medidas DAX longas

Quando montado, ele simplesmente deseja mostrar “Top 4 -“, que é como o cartão correspondente começa antes de enumerar os resultados esperados.

Análise de medida DAX: detalhando medidas DAX longas

Agora, vamos para a quarta etapa. É aqui que começo a apresentar os resultados esperados.

Análise de medida DAX: detalhando medidas DAX longas

Alguns pensariam em usar neste caso. Afinal, estou tentando classificar as entradas e chegar aos melhores resultados. No entanto, Antriksh e eu sentimos que seria mais apropriado neste caso, pois só precisamos dos quatro primeiros na ordem ASC .

Análise de medida DAX: detalhando medidas DAX longas

Em seguida, utilizei a função , que utiliza os dados de Localização da Planta.

Análise de medida DAX: detalhando medidas DAX longas

Ele também define o formato de como eu quero que a lista apareça. É por isso que você verá que tem uma barra invertida e uma vírgula, além de aspas para indicar espaços. Ele também está definido para a ordem ASC , portanto, se eu voltar ao arquivo PBIX, você verá a lista dos quatro primeiros com barras invertidas e vírgulas entre os resultados.

Análise de medida DAX: detalhando medidas DAX longas

A quinta etapa do compasso começa substituindo a última vírgula da lista por um E .

Análise de medida DAX: detalhando medidas DAX longas

Ao voltar ao slide, você verá que a última entrada tem um “e” antes do fornecedor e da localização da fábrica.

Análise de medida DAX: detalhando medidas DAX longas

Isso é o que está sendo realizado na etapa cinco. É criar uma lista e usar a função para LastCommaPosition .

Análise de medida DAX: detalhando medidas DAX longas

Observe que isso diz que N é maior que 2. Isso significa que a substituição ocorre após a 3ª string.

A sexta etapa parecerá familiar porque basicamente copia a mesma coisa que fiz no topo para iniciar a lista com “Top 4 -“.

Análise de medida DAX: detalhando medidas DAX longas

A única diferença aqui é que eu quero que apareça como "Bottom 4 -" em vez de "Top 4 -".

Análise de medida DAX: detalhando medidas DAX longas

A parte que discuti anteriormente sobre o uso é novamente usada aqui na parte inferior, mas agora estou chamando a variável BottomData em vez de TopData. Novamente, esta parte insere a barra invertida e a vírgula entre os nomes das fábricas e fornecedores.

Análise de medida DAX: detalhando medidas DAX longas

Quando olhamos para a medida original de Antriksh, esta também é a mesma parte em que ele usou ASC , o que resultou na lista não saindo como eu esperava. É por isso que estou usando DESC aqui.

Então, basicamente, a partir deste ponto, a maior parte é apenas copiada e colada das partes anteriores do compasso. Estou apenas substituindo a palavra “Top” por “Bottom” na maioria dos casos.

Para a etapa 8, desejo alterar a última vírgula com a palavra E .

Análise de medida DAX: detalhando medidas DAX longas

O nono passo encerra esta medida.

Análise de medida DAX: detalhando medidas DAX longas

Isso usa a função com o número 10. Isso garante que os 4 principais e os 4 inferiores sejam exibidos em linhas separadas. Pense nisso como a tecla Enter do seu teclado. Isso faz com que você desça para a próxima linha para que os quatro primeiros e os quatro últimos não apareçam em uma única linha.

Verificando os resultados

Antriksh e eu conseguimos reduzir as mais de 90 linhas originais do DAX para 41 linhas. No entanto, 41 linhas ainda podem ser muito para alguns usuários. Dividir essa medida da maneira que fizemos foi uma ótima maneira de entender por que a medida tinha que ser escrita dessa maneira.

Agora que expliquei do que se tratava cada etapa, é hora de verificar se aquela medida realmente faz o que deveria fazer. Vamos para a página de Rankings e verificamos os resultados com a outra parte do relatório.

Começarei com as Plantas/Fornecedores por Minutos de Tempo de Inatividade .

Análise de medida DAX: detalhando medidas DAX longas

Isso mostra os quatro primeiros como Linktype em New Britain, Flashpoint em Frazer, Quinu em Twin Rocks e Layo em Henning. Quanto aos quatro últimos, mostra Wikido em Middletown como o pior geral.

Agora, irei para a página de fornecedores e plantas combinadas para ver se os resultados serão correspondentes.

Análise de medida DAX: detalhando medidas DAX longas

Com a coluna Classificação por minutos de tempo de inatividade classificada de cima para baixo, ela mostra o resultado correto para os quatro primeiros.

Alguns de vocês podem se perguntar, no entanto, por que a Nova Bretanha está aparecendo em segundo lugar nesta lista, quando aparece no topo do cartão de página de Rankings .

Observe que o ranking mostra três entradas como top 1. Elas foram classificadas usando RANKX.

Análise de medida DAX: detalhando medidas DAX longas

No entanto, se você olhar para a coluna de Downtime Minutes , ela mostra que New Britain mostra 0, enquanto Frazer e Twin Rocks mostram cada um 1. É por isso que no cartão na página de classificações, New Britain ainda ficou acima de Frazer e Twin Rocks mesmo que todos fossem classificados como número um.

Agora, vamos verificar se os quatro últimos estão corretos. Basta classificar a classificação por minutos de inatividade em ordem decrescente.

Análise de medida DAX: detalhando medidas DAX longas

Como você pode ver, ele mostra Middletown, Waldoboro, Barling e Chesaning como os quatro últimos no card. Isso significa que a medida para Plantas/Fornecedores por Minutos de Paralisação está correta.

Agora, vejamos o cartão de Plantas por minutos de inatividade .

Análise de medida DAX: detalhando medidas DAX longas

Isso mostra que os quatro primeiros são Reading, Middletown, Waldoboro e Clarksville. Os quatro últimos são Riverside, Charles City, Twin Rocks e Chesaning.

Para verificar esses resultados, vou verificar na página Plants e ver se os resultados correspondem. A maior diferença aqui é que o cartão que verificamos anteriormente baseava-se nos dados das Plantas e dos Fornecedores, enquanto este analisa apenas os dados das Plantas.

Quando classificamos a classificação por minutos de inatividade de cima para baixo, isso mostra que os quatro primeiros são Reading, Middletown, Waldoboro e Clarksville.

Análise de medida DAX: detalhando medidas DAX longas

Agora, vamos inverter a classificação desta vez para ver se os quatro últimos combinam. Você verá que, das 30 fábricas da nossa lista, Riverside, Charles City, Twin Rocks e Chesaning ficam nas últimas posições.

Análise de medida DAX: detalhando medidas DAX longas

Isso significa que estamos vendo os resultados corretos para as plantas.

Desta vez, vamos ver um cartão que classifica os fornecedores por defeitos .

Análise de medida DAX: detalhando medidas DAX longas

Vou para a página de fornecedores desta vez para ver se Dablist é o principal fornecedor e Yombu é o pior com base em defeitos.

Análise de medida DAX: detalhando medidas DAX longas

Quando classificamos os fornecedores do melhor para o pior, parece que os quatro primeiros correspondem ao cartão na página Classificações .

Deixe-me mudar a classificação do pior para o melhor e ver se os quatro últimos também combinam.

Análise de medida DAX: detalhando medidas DAX longas

Você verá que Yombu é realmente o pior, junto com os outros três incluídos na lista dos quatro últimos do cartão.

Análise de medida Dax: aplicando ramificação de medida

A análise de medida DAX que fizemos anteriormente apenas examinou a medida por trás de Plantas/Fornecedores por Minutos de Tempo de Inatividade . Mas como trabalhei nas medidas dos outros cartões? É aqui que entra a ramificação de medida .

A ramificação de medida envolve o uso de uma medida existente para derivar outros resultados.

Neste relatório, simplesmente copiei e colei a medida que discutimos anteriormente e alterei alguns dos elementos para atender às minhas necessidades.

O nome da medida é obviamente a primeira coisa que vou mudar. Mas, mais do que isso, também preciso alterar os dados aos quais estou me referindo. Por exemplo, usamos os dados de Plant Location e Vendor para nossa medida original.

Análise de medida DAX: detalhando medidas DAX longas

Mas se vou usar a mesma medida para Plants By Downtime Minutes , então eu teria que remover os dados do Vendor e focar apenas em Plant Location.

Terei que mudar isso para todas as outras partes da mesma medida que também faz referência a ambos os conjuntos de dados, como quando usei CONCATENATEX .

Análise de medida DAX: detalhando medidas DAX longas

O mesmo vale para os Minutos de Inatividade . Se eu fosse trabalhar em um cartão que examinasse a média de minutos de inatividade ou defeitos , tudo o que precisaria fazer seria alterar essa parte.

Análise de medida DAX: detalhando medidas DAX longas

Quanto à parte em que diz “@DowntimeMins” na medida, não faria mal mantê-la assim, mesmo que eu esteja fazendo referência a meus defeitos ou a minha média de minutos de inatividade.

Análise de medida DAX: detalhando medidas DAX longas

Mas se você é do tipo que gosta de manter as coisas em uma certa ordem, pode entrar e mudar isso também. Apenas lembre-se de que, se você alterar isso, terá que alterá-lo em toda a página. Isso significa colocar algum esforço adicional para os mesmos resultados.

Você pode imaginar quanto tempo economizei usando a ramificação de medida . Fazer dessa forma significa que não precisarei ficar criando novas medidas para cada parte do relatório em que trabalho. Só preciso ajustar a medida existente com base nos resultados que desejo ver, reduzindo bastante o tempo de desenvolvimento do meu relatório.

Para mostrar como fiz isso, vejamos Fornecedores por minutos de inatividade .

Análise de medida DAX: detalhando medidas DAX longas

Quando eu abrir a medida, você verá que ela tem as mesmas 41 linhas de Plants / Vendors By Downtime Minutes .

Análise de medida DAX: detalhando medidas DAX longas

No entanto, na etapa 1, apenas fiz referência aos dados do fornecedor e removi a localização da fábrica.

Análise de medida DAX: detalhando medidas DAX longas

Alterei os dados em outros locais onde também são aplicáveis.

Análise de medida DAX: detalhando medidas DAX longas

Eu retive Minutos de tempo de inatividade , pois é nisso que estou baseando os resultados.

Análise de medida DAX: detalhando medidas DAX longas

Então, essas são correções rápidas na medida para que ela possa ser aplicada nas outras áreas do relatório.

Deixe-me mostrar outro exemplo aqui. Desta vez, vamos ver Fornecedores por defeitos .

Análise de medida DAX: detalhando medidas DAX longas

Mais uma vez, estamos apenas olhando para o fornecedor aqui.

Análise de medida DAX: detalhando medidas DAX longas

O que eu mudei aqui é a referência a Downtime Minutes . Em vez disso, usei Defects .

Análise de medida DAX: detalhando medidas DAX longas

Também me certifiquei de que as outras linhas ainda estivessem usando os dados do Fornecedor.

Análise de medida DAX: detalhando medidas DAX longas


Medidas DAX no LuckyTemplates usando ramificação de medidas
Implementando grupos de medidas DAX em seus relatórios – uma revisão de modelagem do LuckyTemplates
Extraindo percepções exclusivas no LuckyTemplates usando medidas DAX de classificação

Conclusão

Esse foi um poderoso trabalho DAX de Antriksh. Eu definitivamente gostei de trabalhar com ele , ramificá-lo e aplicá-lo às diferentes partes do meu relatório .

A análise detalhada da medida DAX que fizemos também foi uma ótima maneira de entender todos os aspectos do processo. Trabalhar em uma medida longa pode parecer assustador no começo, mas uma análise de medida DAX completa como essa pode ajudar a resolver as coisas.

Trabalhar nesta página também enfatizou a importância de ter uma comunidade colaborativa como a que temos aqui no LuckyTemplates. É ótimo que todos tenham a oportunidade de trabalhar com pessoas como Antriksh, bem como outros membros e especialistas que também têm algumas dicas e truques próprios.

Tudo de bom,

Jarrett

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.