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.
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.
A linha roxa mostra o período atual . Observe que o período atual sempre tem um valor de deslocamento de 0 .
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 .
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 .
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 .
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 .
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 .
24 de abril (que é hoje) cai na semana 17 .
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 .
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 .
Agora, minha tabela mostra apenas as últimas quatro semanas de vendas.
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 .
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 .
Se eu precisar pular o limite de um ano, terei que calcular qual é o Weeknumber para o último ano.
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 .
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 .
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.
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.
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.
Então, para obter o valor PrevWeek , só preciso referenciar o WeekOffset selecionado e subtrair 1.
Em seguida, usarei a função para Total de vendas em as datas em que WeekOffset é igual ao valor PrevWeek .
Olhando para os resultados, os resultados parecem ser perfeitos, mesmo na transição de 2017 para 2018.
A questão, porém, está no Total . Evidentemente, este não é o valor correto.
Aqui está como eu vou consertar isso.
Primeiro, observe que a coluna Week & Year está em ordem crescente .
Vou mudar isso e classificar a coluna em ordem decrescente , com 2020 no topo.
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:
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.
Também tenho que identificar o valor MAX WeekOffset das datas ALLSELECTED e subtrair um disso também.
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 .
Novamente, isso segue o padrão básico para totais cumulativos.
Em seguida, posso verificar o total geral usando os padrões .
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.
Então, se eu voltar para minha mesa, agora ela mostrará o Total correto.
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.
Se eu entrar na medida, posso obter os mesmos resultados usando compensações. Isto é o que isso pareceria.
Eu apenas tive que identificar o valor atual de WeekOffset para o contexto vindo das linhas.
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 .
Isso retorna exatamente o mesmo valor do exemplo que estou tentando replicar.
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
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.