Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Este tutorial discutirá sobre como escolher ou filtrar uma data específica em seus relatórios de dados do LuckyTemplates . O material usado neste tutorial vem do . Você aprenderá como resolver o problema e entender os métodos usados. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Índice

Compreendendo o relatório de dados no LuckyTemplates

Este é o relatório de dados de amostra que será usado. Ele consiste em um visual de tabela e duas segmentações.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O objetivo é ter uma seleção de data na coluna Data na segmentação de dados. Isso significa que, uma vez selecionada uma data no slicer, a visualização da tabela mostrará os dias anteriores com um intervalo de 7 dias. Neste exemplo, os dados selecionados na segmentação de data são 12 de maio de 2007.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

A tabela deve mostrar o anterior com uma diferença de 7 dias entre as datas.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Você também precisa criar um parâmetro what if para mostrar dinamicamente o número de datas com base na seleção. Se você selecionar 3 , o visual da tabela deverá mostrar apenas 3 datas.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Recriando a tabela e as visualizações

O primeiro passo é criar um parâmetro what if . Dentro da área de trabalho do LuckyTemplates, vá para a guia Modelagem e selecione Novo parâmetro .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Adicione um nome ao parâmetro e defina o Tipo de dados como Número inteiro . Em seguida, defina os valores mínimo, máximo, de incremento e padrão conforme a imagem abaixo. Adicione a segmentação de dados à página marcando a caixa.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Depois de pressionar OK, um slicer será gerado. Converta a segmentação de dados em uma lista clicando no botão suspenso e selecionando Lista.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

A próxima coisa a fazer é criar uma tabela de datas duplicada que será usada como uma tabela de datas desconectada. Vá para o editor de consulta de energia e duplique Dates .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Em seguida, renomeie o DisDate duplicado e clique em Fechar e Aplicar.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Carregando as tabelas de datas e segmentações de dados no LuckyTemplates

Depois que a tabela duplicada for carregada no modelo do LuckyTemplates, crie uma segmentação de dados com a coluna de data da tabela de data desconectada. Abra a tabela DisDate e arraste Date para a tela.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Em seguida, transforme a visualização em uma segmentação de dados.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Depois disso, altere o formato do slicer para List . A visualização ficará assim.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Em seguida, duplique o slicer e altere o campo de dados com a coluna Date da tabela Dates.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Selecionar uma data na segmentação Datas limitará o número de linhas visíveis da tabela Vendas na matriz. Se você selecionar 14 de março de 2005, a matriz mostrará apenas essa data.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O resultado e a medida não funcionarão se você usar esta configuração. O motivo é que antes mesmo de a medida começar a funcionar, o acesso da matriz já foi filtrado. Para esses valores filtrados, você não poderá gerar as datas com intervalos.

Criando medidas para as segmentações de seleção

Você precisa criar uma configuração de datas que não filtre a matriz diretamente quando uma seleção é colocada sobre uma segmentação de dados. A filtragem da matriz deve vir através do código DAX e não diretamente dos slicers. Portanto, se você selecionar uma data na segmentação DisDate, nenhuma alteração ocorrerá na matriz.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Isso acontece porque a tabela DisDate não tem relação com a tabela Dates. Por isso a mesa desconectada é essencial.

Exclua o slicer com a tabela Dates e crie a primeira medida. A medida recuperará o valor selecionado na segmentação Datas a serem exibidas. A primeira variável que você precisa criar é ValuesToShow . Em seguida, compare-o com o valor Dates To Show e insira RETURN para retornar os valores selecionados.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Arraste essa medida para a matriz. Se você selecionar 6 no slicer Dates To Show, a coluna Measure na matriz também produzirá 6.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Em seguida, crie outra variável que recuperará a data desconectada selecionada no slicer.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Uma vez feito isso, você verá o valor selecionado no slicer DisDate mostrado na coluna Measure.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Criando uma tabela calculada

Crie uma lista de datas com intervalos de 7 dias a partir da data selecionada no slicer. Em seguida, certifique-se de que a matriz gerará o número de dias com base na seleção do slicer Dates To Show. Para fazer isso, primeiro você precisa criar uma tabela calculada .

A tabela calculada ajuda a visualizar como as datas são geradas dentro do código DAX. Vá para a Visualização de dados e clique em Nova tabela.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Insira a variável SelectedDate e compare-a com a função DATE . Em seguida, insira uma data entre parênteses. Em seguida, crie outra variável que especificará o número de datas que você deseja mostrar na matriz. Insira DatesToShow e iguale-o ao número de datas.

Depois disso, crie outra variável que irá gerar uma lista de datas com intervalos de 7 dias. Insira DatesList e use a função GENERATESERIES . é uma função que gera uma lista de números passando vários argumentos.

Para o primeiro argumento, insira SelectedDate – (DatesToShow * 7)  como o valor inicial. Em seguida, insira SelectedDate como o valor final. Para o último argumento, insira 7 para o valor de incremento ou o intervalo entre as datas. Feito isso, feche a função e insira RETURN e DateList .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Você pode então ver uma tabela contendo sete valores começando em 5 de maio e voltando com incrementos de sete.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Agora, você notará que ele criou muitas datas do que você precisa. No relatório de amostra original, a última data mostrada com as mesmas seleções de datas a serem exibidas e datas era 31 de março.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Para corrigir isso, você pode alterar o valor da variável DatesToShow para 5 ou subtrair 1 de 6. Neste exemplo, 1 é subtraído de 6.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Depois disso, você verá que os valores terminam no dia 31 de março.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Injetando Datas no Contexto do Filtro

Em seguida, você precisa usar e injetar essas datas em um contexto de filtro de data. Você também precisa calcular o valor das vendas no contexto do filtro. Então, copie a sintaxe GENERATESERIES e volte para sua medida.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Na medida, adicione uma nova variável e insira DatesToShow . Em seguida, iguale essa variável à sintaxe GENERATESERIES . Altere as variáveis ​​dentro da sintaxe de SelectedDate para DisSelectedDate e DatesToShow para ValuesToShow .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Por fim, crie uma variável para o resultado. Iguale-o à função CALCULATE sobre Total Sales e DatesToShow para injetar todas as datas recebidas da sintaxe GENERATESERIES no contexto do filtro. Feito isso, insira Result na função RETURN .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Agora, você verá que a matriz não mostrará as datas que o código DAX está solicitando. Se você trouxer a medida Total Sales na matriz, verá que o código está retornando o próprio valor Sales.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O problema da medida é que a data que foi criada na sintaxe GENERATESERIES possui uma linhagem de dados com a tabela de datas desconectada. Isso significa que a tabela Data não está conectada à tabela Vendas. É por isso que quando a lista de datas foi aplicada no contexto do filtro, não incluiu a tabela Vendas.

Você precisa usar a função para criar relacionamentos virtuais e aplicar o contexto do filtro.

Usando TRATAS para corrigir a data na matriz do LuckyTemplates

Você precisa tratar os valores recebidos da sintaxe GENERATESERIES como se fossem parte da tabela Date original. Isso é basicamente construir uma linhagem com a coluna Date da tabela Date que está no modelo de dados.

Portanto, na variável Result, insira TREATAS após a tabela Total Sales e forneça os argumentos. Para o primeiro argumento, forneça a coluna ou tabela que não possui o relacionamento. Nesse caso, a coluna DatesToShow é usada.

Para o segundo argumento, forneça a coluna para a qual deseja mapear a linhagem da coluna no primeiro argumento. Neste exemplo, a coluna Date da tabela Dates é usada.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Porém, mesmo com as correções no código, a coluna Medida da matriz ainda não apresentará os valores corretos ao utilizar o slicer. Você também pode observar que os valores dentro da coluna estão se repetindo.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O problema está na forma como o código foi escrito. TREATAS aplica todos os valores no contexto do filtro e substitui o contexto do filtro existente na data selecionada por todos os valores que foram recuperados da função GENERATESERIES .

Usando a função KEEPFILTERS sobre TREATAS

Para garantir que o filtro seja injetado no filtro sem substituir o contexto de filtro existente, você precisa usar a função KEEPFILTERS . altera a semântica de filtragem de CALCULATE .

Insira KEEPFILTERS antes da função TRATAS e confirme a medida.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Agora você verá que os valores dentro da coluna Medida não estão se repetindo.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Se você expandir os meses de maio e abril, verá que os valores na coluna Medida são iguais aos valores da coluna Total de vendas.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Remova a medida Total Sales na matriz e selecione um número na segmentação Dates To Show. Você verá o número equivalente de datas sendo mostrado na matriz.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Corrigindo problemas de data ausente na matriz do LuckyTemplates

Outro problema com este relatório é que quando você seleciona 8 na segmentação DatesToShow , a matriz não muda.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Se você selecionar 9 na segmentação de dados, a matriz mostrará apenas 8 datas. Você também notará que 17 de março está faltando na lista de datas.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O motivo é que, em alguns dias da tabela Data, não há transações correspondentes na tabela Vendas. Portanto, a medida retorna um espaço em branco para essas datas. Como está retornando em branco, o código executado atrás da matriz remove as linhas em branco do resultado.

O LuckyTemplates usa o resultado retornado para preencher a matriz. Portanto, como alguns dias estão retornando em branco, você não pode ver as vendas e as entradas desses dias na matriz.

Se você quiser mostrar algo para os dias sem vendas em seus dados, volte para a medida e remova a sintaxe CALCULATE .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Usando o DAX para resolver datas ausentes no LuckyTemplates

Crie uma linhagem de dados escrevendo TREATAS sobre as colunas DatesToShow e Date da tabela Dates . Em seguida, verifique se todas as datas retornadas pela função TREATAS estão incluídas no contexto do filtro.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

A partir daí, divida a execução por várias variáveis. Altere o nome da variável de Result para CreateDataLineage para mostrar que ela armazena o resultado de TREATAS .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Em seguida, crie outra variável que conterá todas as datas visíveis no contexto do filtro provenientes da matriz. Insira VisibleDate como o nome da variável e use na coluna Date .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

A próxima coisa a fazer é criar uma coluna sobre o resultado da função TREATAS que conteria o valor de Vendas. Escreva DatesWithSales como o nome da variável e use sobre a variável CreateDataLineage .

Dentro da função, crie uma nova coluna e nomeie-a como Sales Amount com a medida Total Sales no contexto da linha para iniciar a transição de contexto.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Depois disso, crie uma variável que verifique se todas as datas que estão armazenadas na variável DatesWithSales estão incluídas no contexto do filtro. Insira IsDateInFilterContext como o nome da variável e use a função .

A partir daí, escreva DatesWithSales como o primeiro argumento da função. Em seguida, insira Dates[Date] IN VisibleDate como o segundo argumento para verificar se a data contida na tabela DatesWithSales está incluída na variável VisibleDate .

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

A última variável que você precisa criar é Result . Use a função sobre a variável IsDateInFilterContext . Escreva [@Sales Amount] + 0 para incluir os dias que não foram incluídos anteriormente.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Depois de tudo isso, você verá a data que falta, 17 de março, na matriz.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Usando +0 na medida original

As etapas anteriores mostraram como criar uma medida para incluir todas as datas que não possuem transações na tabela Fatos. Agora, se você usar o + 0 na medida original que criou, os valores na coluna Medida serão todos 0.

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

Escolha uma data específica no LuckyTemplates usando o cálculo DAX

O motivo é que a variável Resultado contém um valor em branco ou Vendas. Portanto, se você adicionar 0, estará substituindo o espaço em branco por 0. Lembre-se de que as colunas resumidas removem as linhas em branco do conjunto de dados. Devolva-os ao LuckyTemplates para que possam mostrar apenas linhas limitadas e não os espaços em branco.

Mas como 0 é adicionado, a coluna de resumo é forçada a manter as linhas. Em seguida, retorna uma tabela que contém todas as datas existentes na tabela Dates e mostra zero sempre que aplicável ou quando está em branco.

Esta é a razão pela qual você precisa reescrever a medida de forma que você só precise adicionar 0 às datas visíveis no contexto do filtro e incluídas na variável DatesToShow .


Conectores do Power Automate: Número, Texto e Data Hora
Tabela de Data Estendida Power Query Função M
Power Query LuckyTemplates | Criar novos registros com base em campos de data

Conclusão

Para criar um relatório de dados que permite selecionar uma data específica em uma matriz do LuckyTemplates , você precisa usar tabelas calculadas e funções DAX . As funções e medidas DAX precisam ser escritas de forma que possam obter resultados facilmente.

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.