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 lidar com uma tabela de taxas de câmbio onde alguns dias não são contabilizados . Esses dias podem ser fins de semana ou feriados.
Às vezes, isso pode não ser um problema, especialmente se a empresa para a qual você está preparando um relatório não abre nos finais de semana e feriados. Mas se o fizerem, você pode acabar com totais incorretos no final do mês.
Saber como lidar com dados ausentes permitirá que você compare as vendas de forma justa se houver várias moedas usadas. Pode haver dias, por exemplo, em que você acha que o total de vendas está diminuindo porque o valor da moeda caiu. Na realidade, o total de vendas pode ser baixo porque você não está contabilizando todos os dias do período.
Neste exemplo, vou pegar a última taxa de câmbio disponível e usá-la nas datas ausentes para preencher o espaço. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.
Índice
Dados fornecidos na tabela de taxas de câmbio
Abaixo está a tabela de fatos, que é a tabela de taxas de câmbio . Ele usa o Euro como moeda base.
Ele mostra os dados de janeiro de 2016 com o Crossrate associado em cada dia.
Tudo parece bem a partir de 1º de janeiro. Mas quando chego no dia 26, a próxima data na linha seguinte é 29.
Isso significa que estou perdendo dados dos dias 27 e 28 .
Observe que alguns podem preferir usar o Power Query para lidar com essa situação. Por enquanto, quero me concentrar apenas no DAX.
Agora digamos que eu queira usar 0,920 nos dias 27 e 28. Este é o Crossrate usado no dia 26. Como faço isso usando o DAX?
Alguns podem dizer que isso pode ser feito facilmente no Excel. Eles podem estar certos até certo ponto.
Mas a vantagem que o LuckyTemplates tem sobre o Excel é a capacidade de mergulhar ainda mais nos dados de diferentes perspectivas sem ter que refazer ou alterar nada, o que provavelmente aconteceria no Excel.
Mostrarei todas as medidas que você precisa considerar, bem como as diferentes etapas que eu tomaria para cobrir quaisquer dados ausentes nas tabelas de taxas de câmbio.
Medida da Taxa de Moeda
Primeiro, deixe-me mostrar minha mesa principal. Eu já tenho alguns dados aqui, incluindo a Data e a Taxa da Moeda para o Euro .
Nesse caso, a taxa de câmbio simplesmente usa a função .
Como estou lidando com uma taxa de câmbio por dia, é fácil usar funções como SUM , , ou qualquer coisa semelhante. Os dados exibidos por linha fariam todo o sentido.
O único problema aqui é o que vai acontecer com o Total .
Isso mostra o Total como 26,693, o que não faz o menor sentido. É literalmente apenas resumir as taxas de câmbio de todos os dias. Por causa disso, eu teria que encontrar uma maneira de iterar ao longo dos dias para obter o Total real .
Portanto, examinarei minha medida Data da moeda para tentar resolver isso.
Medida da Data Atual
Pessoalmente, sempre faço uma medida de Data Atual que traz qualquer data em que estou no contexto do Filtro Atual .
Eu também prefiro usar . Neste exemplo, usar a função MAX me dará 1/31 no Total, o que faria mais sentido, já que é a última data fornecida.
Data da última moeda
Minha tabela também contém a última data de moeda . Eu obtenho isso usando a função e referenciando as tabelas FactCurrencyRates e Date .
Embora isso mostre a função LASTDATE , também é possível usar MAX . Isso usa a mesma premissa da tabela Current Date , mas fornece um ponto específico no tempo em relação à tabela Currency Rates .
Rolando para baixo, vejo que não há dados para os dias 27 e 28 do mês.
Para resolver esses dias ausentes, falarei sobre a coluna Data da última moeda relatada .
Data da última moeda informada
A data da última moeda relatada determinará qual taxa usar para os dias ausentes. O conceito é que a última taxa de câmbio informada será a mesma taxa a ser usada nos dias com dados ausentes .
Como não há dados nos dias 27 e 28, isso significa que os dados do dia 26 serão aplicados.
Nosso exemplo também mostra que a última data de moeda relatada pode não ser necessariamente o dia anterior. Como também não há dados para o dia 27, ainda teria que voltar ao dia 26 para descobrir qual taxa usar no dia 28.
Antes de entrar na medida mostrando como isso foi feito, lembre-se de que tudo aqui está acontecendo no contexto de como um filtro funciona. Tenho que pensar em quais dados específicos quero focar.
Como estou na fila para o dia 27 do mês, quero remover qualquer referência de filtro e focar no dia 26. Isso significa trazer o ou desde que me permitam modificar o filtro aplicado. Não confunda isso com a função , que só pode restringir ainda mais os dados.
Então, aqui está a medida que usei para a Data da última moeda relatada . Eu usei CALCULAR para este exemplo.
Eu sempre tento encontrar o maior número possível de variáveis. Eu só preciso olhar para o escopo de cada variável, já que as variáveis assumem o valor de onde são definidas .
Nesse caso, vou usar a Data Atual , pois sei que essa variável não vai mudar, independentemente de quais funções eu usar.
Observe que não é necessário encontrar essa variável. É apenas um hábito que me permite verificar o escopo de cada variável que usarei na medida.
Voltando à medida, como digo ao DAX para remover os filtros da Data atual e fornecer a Data da última moeda registrada ?
Primeiro, usarei FILTER para a tabela (DimDate).
A função ALL remove os filtros aplicados, abrindo a tabela DimDate para eu usar.
Em seguida, uso MIN para informar ao DAX que desejo usar a parte da coluna DimDate que é igual a Last Currency Date ou Current Date .
E se a última data da moeda e a data atual não forem iguais? Em seguida, use sempre a Data da Última Moeda .
É por isso que entre 26/01 e 27/01, a medida será 1/26. A partir daqui, a data correta será aplicada à tabela de taxas de câmbio para obter a última taxa de câmbio relatada .
Última taxa de câmbio relatada
Deixe-me arrastar a última taxa de câmbio relatada para minha tabela.
Você verá que os dias 27 e 28 agora estão usando 0,9200 como taxa de câmbio , pois é a mesma taxa usada no dia 26.
Abaixo está a medida que usei para a última taxa de câmbio relatada .
Novamente, sempre começo definindo algumas variáveis. Nesse caso, estou usando Moeda selecionada e Data da última moeda relatada .
Vou usar Moeda selecionada porque estou lidando com diferentes moedas aqui. É por isso que preciso identificar qual moeda específica está sendo avaliada em um determinado momento.
Neste exemplo, as diferentes moedas podem ser acessadas usando o slicer fornecido.
Claro, não precisa ser um cortador em uso. Também pode vir de uma tabela ou de um visual. O que importa é que existe um filtro que permite ver os dados em diferentes moedas.
Quanto a LastReportedDate , é a mesma coisa que a última data de moeda informada sobre a qual falei anteriormente.
Para a variável Rate , usei a função .
Estou trazendo o Crossrate da tabela de fatos para CurrencyRates .
Como tenho muitas moedas em uma única tabela, não posso simplesmente usar a data como um único ponto de referência. Tem que ser uma combinação da moeda certa e da data certa.
É por isso que também estou fazendo referência ao ticker da moeda igual à Moeda selecionada .
Também estou fazendo referência a LastReportedDate .
É por isso que olhando para a tabela, ela mostra o 26º três vezes antes de pular para o 29º.
Vendas convertidas usando a última taxa relatada versus usando a data atual
Agora estou na reta final, que envolve a conversão das vendas usando a última taxa de câmbio informada .
Basicamente, a medida apenas pega esta última taxa de câmbio relatada e a multiplica pela medida base , que neste caso é o total de vendas .
Uma vez aplicada essa medida, você verá que essas duas datas acabam ficando em branco. Isso significa que não há vendas nessas datas .
Acontece também que há vendas nos dias 27 e 28 (onde antes não havia dados de moeda).
Como fiz referência à última taxa de câmbio relatada , esses números foram convertidos em euros.
Desta vez, vou mostrar as vendas convertidas usando a data atual.
Desta vez, ele analisa apenas a Data Atual , em vez de levar em consideração a Data do Último Relato .
Depois de colocar essa medida na tabela em outra coluna, ela mostra apenas espaços em branco nos dias 27 e 28.
Comparando as vendas convertidas usando a última taxa de relatório versus usando a data atual , o total mostra uma grande diferença.
Onde as vendas convertidas usando a última data relatada mostram um total de mais de 4 milhões, as vendas convertidas usando a data atual mostram apenas 3,8 milhões no total.
É por isso que é muito importante entender qual variável você está usando. Se você olhar para o total, parece que o euro sofreu um grande golpe, puxando o valor para baixo. Mas, na realidade, a queda no Total se deve a dados não contabilizados na tabela de Taxas de Moeda.
Limpando os dados
Agora que preenchi os dados que faltam, vou limpar a tabela.
Acabei de adicionar uma coluna de Vendas Formatadas aqui que mostra claramente os números em Euros.
Como passei por tantas etapas, acumulei um bom número de colunas aqui.
Mas nem tudo isso é necessário na apresentação dos dados. Portanto, irei em frente e me livrarei deles removendo-os no painel Valores .
Depois de removidos, acabo com uma tabela mais limpa, com apenas os dados necessários exibidos.
Observe que ainda posso alterar a moeda usando o cortador aqui à direita.
Para tornar minha tabela mais completa, adicionarei todas as outras moedas desativando a opção Seleção única .
Isso exibirá meus números em dólares americanos, euros e libras esterlinas.
Também estou vendo alguns espaços em branco aqui representando os dias em que não há vendas.
Vou removê-los desativando “ Mostrar itens sem dados ”.
Agora, a tabela contém apenas linhas que representam as datas com vendas.
Isso me dá uma boa comparação dos números com base nas diferentes moedas.
Os totais também estão mostrando os números corretos porque usei para percorrer cada uma das linhas.
Isto é muito importante. Se você não usar SUMX , acabará adicionando todas as colunas sem pensar se a taxa de câmbio correta está sendo usada.
Criando uma tabela de conversão de moeda no LuckyTemplates
Lógica de várias moedas no LuckyTemplates – um exemplo de VALOR DE PROCURA
Moedas de formato no LuckyTemplates usando DAX
Conclusão
Como mencionei anteriormente, essa não é necessariamente a única maneira de lidar com dados ausentes. Na verdade, existem várias outras maneiras de fazer isso.
Em alguns casos, por exemplo, você pode usar os dados do início do mês e aplicar esse mesmo número em toda a tabela de taxas de câmbio. Discutirei essas outras abordagens no futuro em blogs separados.
Por enquanto, usei essa abordagem porque usar a última taxa relatada faz mais sentido para mim. Acredito que seja a opção mais intuitiva.
Uma coisa que também gostaria de enfatizar é a necessidade de entender tudo a partir de um contexto de filtro. Como sobrescrever o filtro? Como trago os últimos dados informados? Isso ajudará você a entender como obter os números certos no final.
Tudo de bom,
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.