Usando a função de compensação em tabelas de datas estendidas

Vou mostrar como usar a função offset no LuckyTemplates . É uma das ferramentas mais dinâmicas que você pode usar, especialmente em suas tabelas de datas.

Depois de dominar como aplicá-lo em seus projetos de inteligência de tempo, você pode obter insights mais aprofundados que não obterá usando nenhuma outra abordagem. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Índice

Compreendendo a mecânica da função de deslocamento

Começarei mostrando a mecânica da função offset.

As compensações mostram a diferença entre a data de hoje e as outras datas em seus dados.

Como você pode ver na minha tabela de datas abaixo, concentrei-me no trimestre e no ano para poder ver o movimento real dos dados.

Usando a função de compensação em tabelas de datas estendidas

A linha roxa mostra o período atual . Observe que o período atual sempre tem um valor de deslocamento de 0 .

Usando a função de compensação em tabelas de datas estendidas

Acima disso, em amarelo, mostra todos os dados vindos do passado . Você verá que os números aqui são 0 ou menores que 0, representados pelos dados negativos .

Usando a função de compensação em tabelas de datas estendidas

Isso significa que para os dados do futuro , estes apresentarão valores positivos . Dependendo da granularidade da coluna, ela também pode conter um 0 .

Usando a função de compensação em tabelas de datas estendidas

Então, o que torna as compensações poderosas?

Deslocamentos podem ser números seqüenciais que representam a diferença entre diferentes dados na tabela . Mas o que torna as compensações excelentes é que elas não têm limites .

Por exemplo, os trimestres vão de 1 a 4, representando os 4 trimestres de um ano. Os meses vão de 1 a 12, enquanto as semanas podem ir de 1 a 52 ou 53, dependendo do ano. Mas assim que chego ao último número, tenho que começar de novo.

Este não é o caso das compensações. Quando se trata de deslocamentos, eles sempre mostrarão uma posição relativa à data atual e à outra data referenciada .

Portanto, cada vez que a tabela de datas é atualizada, a lógica que faz os deslocamentos funcionarem também é atualizada. Isso significa que um valor atualizado também será mostrado na tabela de datas.

Exemplo de uma coluna de compensação de semana

Para lhe dar uma imagem mais clara de como funciona a função offset, darei um exemplo de como ela é aplicada.

Em meus dados de amostra, mostra a data de hoje como 24 de abril de 2020 .

Usando a função de compensação em tabelas de datas estendidas

Novamente, os princípios de compensação afirmam que o período atual é representado por 0, os dados futuros são representados por valores positivos e os períodos passados ​​são representados por números negativos .

Usando a função de compensação em tabelas de datas estendidas

Eu também tenho um slicer na minha página que contém o valor WeekOffset. Atualmente, mostra todos os valores de -53 a 0, com 0 representando a semana atual .

Usando a função de compensação em tabelas de datas estendidas

24 de abril (que é hoje) cai na semana 17 .

Usando a função de compensação em tabelas de datas estendidas

Esta tabela de data estendida abrange apenas os números da semana ISO . Isso significa que as semanas começam na segunda-feira . Isso também significa que uma semana sempre terá 7 dias .

Mas há muitos requisitos de semana personalizados que não seguem a mesma lógica. Você pode saber mais sobre esses casos em vários tópicos abordados no Fórum LuckyTemplates.

Além disso, você pode considerar usar Mês e Ano em vez de Semana e Ano , se isso se aplicar melhor à sua situação.

Voltando aos dados de amostra, você deve ter notado que os valores WeekOffset estão em um intervalo de números sequenciais perfeito .

Usando a função de compensação em tabelas de datas estendidas

Isso ocorre porque eles compartilham a mesma granularidade por toda parte . Não há valores duplicados nem valores ausentes.

Obviamente, a medida Total Sales usada aqui é feita da maneira usual, com apenas um regular sobre as vendas para a quantidade vezes o preço . Então, tudo é agregado para obter um valor semanal.

Mas e se eu quiser ver apenas as últimas 4 semanas de vendas?

Eu só tenho que mudar meu slicer para um intervalo de -3 a 0 .

Usando a função de compensação em tabelas de datas estendidas

Agora, minha tabela mostra apenas as últimas quatro semanas de vendas.

Usando a função de compensação em tabelas de datas estendidas

Assim, conforme eu me movo no tempo, minha tabela de datas é atualizada. A mesma coisa acontece se novos resultados de vendas forem carregados na tabela de fatos.

Usando compensações no DAX

Desta vez, mostrarei como a função offset pode ser usada em medidas DAX.

Eu tenho uma tabela com Week & Year e Total Sales .

Usando a função de compensação em tabelas de datas estendidas

Portanto, se eu quiser calcular as vendas da semana anterior sem compensações, primeiro preciso extrair qual é o número CurrWeek e, em seguida, verificar qual é o valor CurrYear .

Usando a função de compensação em tabelas de datas estendidas

Se eu precisar pular o limite de um ano, terei que calcular qual é o Weeknumber para o último ano.

Usando a função de compensação em tabelas de datas estendidas

A partir daí, eu usaria SUMX como uma função de itera��ão na tabela de datas. Eu também teria que verificar se a CurrWeek é a semana número 1 .

Usando a função de compensação em tabelas de datas estendidas

Se não for a semana 1, só preciso subtrair 1 do valor CurrWeek para CurrYear . Depois disso, as vendas totais podem finalmente ser somadas .

Usando a função de compensação em tabelas de datas estendidas

Olhando para a tabela abaixo, você pode ver agora que todos os valores estão perfeitamente agregados. Os valores exibidos em Vendas totais são simplesmente transportados para a semana seguinte.

Usando a função de compensação em tabelas de datas estendidas

Mesmo se eu ultrapassar o limite de um ano de 2017 para 2018, o padrão não será quebrado. As vendas totais da última semana de 2017 ainda são perfeitamente calculadas para a semana número 1 de 2018.

Usando a função de compensação em tabelas de datas estendidas

Desta vez, farei o mesmo cálculo, mas com os deslocamentos da tabela de datas aplicados.

É assim que essa medida se parece quando uso compensações.

Usando a função de compensação em tabelas de datas estendidas

Então, para obter o valor PrevWeek , só preciso referenciar o WeekOffset selecionado e subtrair 1.

Usando a função de compensação em tabelas de datas estendidas

Em seguida, usarei a função para Total de vendas em as datas em que WeekOffset é igual ao valor PrevWeek .

Usando a função de compensação em tabelas de datas estendidas

Olhando para os resultados, os resultados parecem ser perfeitos, mesmo na transição de 2017 para 2018.

Usando a função de compensação em tabelas de datas estendidas

A questão, porém, está no Total . Evidentemente, este não é o valor correto.

Usando a função de compensação em tabelas de datas estendidas

Aqui está como eu vou consertar isso.

Primeiro, observe que a coluna Week & Year está em ordem crescente .

Usando a função de compensação em tabelas de datas estendidas

Vou mudar isso e classificar a coluna em ordem decrescente , com 2020 no topo.

Usando a função de compensação em tabelas de datas estendidas

Como não há contexto vindo de Week & Year , ele não identifica o valor de deslocamento da semana atual, mas ainda está subtraindo 1 . Mas o que posso fazer é aplicar um total cumulativo para ajustar o total .

A medida ficará assim:

Usando a função de compensação em tabelas de datas estendidas

O início do compasso não muda. É exatamente igual à medida anterior que apliquei.

Mas como preciso usar um padrão semelhante aos totais cumulativos, tenho que usar a função CALCULATE na FirstWeek sobre Dates com 1 subtraído dela.

Usando a função de compensação em tabelas de datas estendidas

Também tenho que identificar o valor MAX WeekOffset das datas ALLSELECTED e subtrair um disso também.

Usando a função de compensação em tabelas de datas estendidas

Em seguida, usarei a função CALCULAR novamente para o Total Sales . Usarei a função para incluir TODAS as datas . O valor WeekOffset deve ser maior ou igual a FirstWeek e menor ou igual a LastWeek .

Usando a função de compensação em tabelas de datas estendidas

Novamente, isso segue o padrão básico para totais cumulativos.

Em seguida, posso verificar o total geral usando os padrões .

Usando a função de compensação em tabelas de datas estendidas

Portanto , SE a Semana e o Ano ISINSCOPE , espero que os resultados mostrem o LWSales . Mas se não for, espero que o LWTotal apareça.

Usando a função de compensação em tabelas de datas estendidas

Então, se eu voltar para minha mesa, agora ela mostrará o Total correto.

Usando a função de compensação em tabelas de datas estendidas

Compensações para semanas específicas

Deixe-me voltar ao exemplo que usei anteriormente, onde filtrei os dados para mostrar apenas as últimas quatro semanas.

Usando a função de compensação em tabelas de datas estendidas

Se eu entrar na medida, posso obter os mesmos resultados usando compensações. Isto é o que isso pareceria.

Usando a função de compensação em tabelas de datas estendidas

Eu apenas tive que identificar o valor atual de WeekOffset para o contexto vindo das linhas.

Usando a função de compensação em tabelas de datas estendidas

Depois disso, posso aplicar a função CALCULAR nas vendas totais de TODAS as datas em que WeekOffset é maior ou igual a ThisWeek menos 3 ou menor ou igual ao valor de ThisWeek .

Usando a função de compensação em tabelas de datas estendidas

Isso retorna exatamente o mesmo valor do exemplo que estou tentando replicar.

Usando a função de compensação em tabelas de datas estendidas


Totais cumulativos com base em resultados médios mensais no LuckyTemplates
Normalização de dados no LuckyTemplates para resultados de dias diferentes
Crie uma tabela de datas abrangente no LuckyTemplates com muita rapidez

Conclusão

Os exemplos que mostrei acima provam como os deslocamentos dinâmicos realmente são. Você pode usá-los em filtros, fatias e até mesmo em cálculos DAX.

Os deslocamentos também podem ser usados ​​em tabelas de datas estendidas para semanas, meses, trimestres, anos e anos fiscais. Eles oferecem muita flexibilidade e podem facilmente ajudá-lo a obter os resultados desejados.

Apenas continue brincando com compensações e veja que outros usos você pode ter para elas. Você também pode verificar o para outros casos em que a função de deslocamento provou ser útil.

Tudo de bom,

melissa

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.