Formula Media Movel De 12 Meses




Fórmula Média Móvel De 12 MesesHOw para calcular 12 meses de rolamento medio Voce pode precisar de um par de passos para fazer isso. Passo 1: Contar o numero de dias para cada mes Contagem (Data) ForAll (Data) ForEach (Mes) Etapa 2: Calcular total Valor de teste para cada mes (Mes) Passo 4: Calcule o numero total de dias dos ultimos 12 meses Contagem (data) Para cada mes (cada mes tem 1 valor, ou seja, 1 de janeiro, 2 de fevereiro e assim por diante) Onde (RunningCount (Data) ForAll (Data) ForEach (Mes) gt (Maximo (RunningCount (Data) ForAll (Data) ForEach (Mes)) Em 12) Etapa 5: Calcule o total de Test Value durante os ultimos 12 meses Valor de teste de soma Onde (RunningCount (Data) ForAll (Data) ForEach (Mes) gt (Maximo (RunningCount (Data) ForAll (Data) ForEach (mes)) No bloco -1)) Etapa 6: Pode criar novas variaveis ??para cada etapa acima, mas nao use essas novas variaveis ??nos calculos das etapas 1 a 5. Todas as formulas acima precisam estar no formulario exato. Caso contrario, o contexto de calculo no webi nao conseguira gerar os resultados esperados. Espero que isso ajude. Rolling 12 Months Average em DAX Computing a media de 12 meses de rolamento em DAX parece uma tarefa simples, mas esconde alguma complexidade. Este artigo explica como escrever a melhor formula evitando armadilhas comuns usando funcoes de inteligencia de tempo. Comecamos com o usual modelo de dados AdventureWorks, com a tabela Produtos, Vendas e Calendario. O Calendario foi marcado como uma tabela de calendario (e necessario trabalhar com qualquer funcao de inteligencia de tempo) e construimos uma hierarquia simples ano-mes-data. Com esta configuracao, e muito facil criar uma primeira tabela dinamica mostrando as vendas ao longo do tempo: Ao fazer a analise de tendencias, se as vendas estao sujeitas a sazonalidade ou, de forma mais geral, se voce quiser remover o efeito de picos e quedas nas vendas, Tecnica comum e a de calcular o valor ao longo de um determinado periodo, geralmente 12 meses, e media dele. A media movel em 12 meses fornece um bom indicador da tendencia e e muito util em graficos. Dada uma data, podemos calcular a media movel de 12 meses com esta formula, que ainda tem alguns problemas que vamos resolver mais tarde: O comportamento da formula e simples: calcula o valor de Vendas apos a criacao de um filtro no calendario que Mostra exatamente um ano inteiro de dados. O nucleo da formula e o DATESBETWEEN, que retorna um conjunto inclusivo de datas entre os dois limites. O mais baixo e: Leitura do mais intimo: se estamos mostrando dados de um mes, digamos julho 2007, tomamos a ultima data visivel usando LASTDATE, que retorna o ultimo dia em julho de 2007. Entao usamos NEXTDAY para tomar o primeiro De agosto de 2007 e finalmente usamos SAMEPERIODLASTYEAR para mudar de volta um ano, produzindo 01 de agosto de 2006. O limite superior e simplesmente LASTDATE, ou seja, final de julho de 2007. Se usamos essa formula em uma tabela dinamica, o resultado parece bom, mas nos Tem um problema para a ultima data: Na verdade, como voce pode ver na figura, o valor e corretamente calculado ate 2008. Entao, nao ha valor em 2009 (o que e correto, nao temos vendas em 2009), mas nao ha Um valor surpreendente em dezembro de 2010, onde nossa formula mostra o total geral em vez de um valor em branco, como seria de esperar. Na verdade, em dezembro, LASTDATE retorna o ultimo dia do ano e NEXTDAY deve retornar a 1 de janeiro de 2011. Mas NEXTDAY e uma funcao de inteligencia de tempo e e esperado para retornar conjuntos de datas existentes. Este fato nao e muito evidente e vale a pena algumas palavras mais. Funcoes de inteligencia de tempo nao executam matematica em datas. Se voce quiser tomar o dia apos uma determinada data, voce pode simplesmente adicionar 1 a qualquer coluna de data, eo resultado sera no dia seguinte. Em vez disso, funcoes de inteligencia de tempo deslocam conjuntos de data para tras e para frente ao longo do tempo. Assim, NEXTDAY leva sua entrada (no nosso caso uma tabela de uma linha com o 31 de dezembro de 2010) e muda um dia depois. O problema e que o resultado deve ser 1 de janeiro de 2011 mas, como a tabela de calendario nao contem essa data, o resultado e em branco. Assim, nossa expressao calcula as vendas com um limite inferior em branco, que significa o inicio do tempo, resultando como resultado o total geral das vendas. Para corrigir a formula e suficiente para alterar a ordem de avaliacao do limite inferior: Como voce pode ver, agora NEXTDAY e chamado apos o deslocamento de um ano de volta. Desta forma, tomamos 31 de dezembro de 2010, move-lo para 31 de dezembro de 2009 e tomar o dia seguinte, que e 01 de janeiro de 2010: uma data existente na tabela do calendario. O resultado e agora o esperado: Neste ponto, precisamos apenas dividir esse numero por 12 para obter a media movel. Mas, como voce pode facilmente imaginar, nem sempre podemos dividi-la por 12. Na verdade, no inicio do periodo nao ha 12 meses para agregar, mas um numero menor. Precisamos calcular o numero de meses para os quais ha vendas. Isso pode ser feito usando a filtragem cruzada da tabela de calendario com a tabela de vendas depois de aplicar o novo contexto de 12 meses. Definimos uma nova medida que calcula o numero de meses existentes no periodo de 12 meses: Voce pode ver na proxima figura que a medida Months12M calcula um valor correto: Vale ressaltar que a formula nao funciona se voce escolher um periodo Mais de 12 meses, porque o CalendarMonthName tem apenas 12 valores. Se voce precisar de periodos mais longos, voce precisara usar uma coluna YYYYMM para ser capaz de contar mais de 12. A parte interessante desta formula que usa filtragem cruzada e o fato de que ele calcula o numero de meses disponiveis, mesmo quando voce filtra usando outros atributos. Se, por exemplo, voce selecionar a cor azul usando um slicer, em seguida, as vendas comecam em julho de 2007 (nao em 2005, como acontece com muitas outras cores). Usando o filtro cruzado no Sales, a formula calcula corretamente que em julho de 2007 ha um unico mes de vendas disponiveis para o Blue: Neste ponto, a media de rolamento e apenas um DIVIDE de distancia: Quando usa-lo em um Pivot Table, ainda Tem um pequeno problema: de fato, o valor e calculado tambem para meses para os quais nao ha vendas (ou seja, futuros meses): Isso pode ser resolvido usando uma instrucao IF para evitar que a formula mostre valores quando nao ha vendas. Eu nao tenho nada contra IF, mas, para o desempenho viciado entre voces, e sempre vale a pena lembrar que IF pode ser um assassino desempenho, porque poderia forcar motor DAX formula para chutar. Neste caso especifico, a diferenca e insignificante, mas , Como regra geral, a melhor maneira de remover o valor quando nao ha vendas e confiar em formulas de mecanismo de armazenamento puro como este: Comparando um grafico usando o Avg12M com outro que mostra Vendas voce pode facilmente apreciar como a media movel Esboca as tendencias de uma forma muito mais limpa: Mantenha-me informado sobre os proximos artigos (boletim informativo). Desmarque para baixar livremente o arquivo. Media de Multiplos Este exemplo ensina como calcular a media movel de uma serie de tempo no Excel. Uma media movel e usada para suavizar irregularidades (picos e vales) para reconhecer facilmente as tendencias. 1. Primeiro, vamos dar uma olhada em nossa serie de tempo. 2. No separador Dados, clique em Analise de dados. Nota: nao e possivel encontrar o botao Analise de dados Clique aqui para carregar o suplemento do Analysis ToolPak. 3. Selecione Media movel e clique em OK. 4. Clique na caixa Input Range e selecione o intervalo B2: M2. 5. Clique na caixa Intervalo e escreva 6. 6. Clique na caixa Output Range e seleccione a celula B3. 8. Faca um grafico destes valores. Explicacao: porque definimos o intervalo como 6, a media movel e a media dos 5 pontos de dados anteriores eo ponto de dados atual. Como resultado, os picos e vales sao suavizados. O grafico mostra uma tendencia crescente. O Excel nao consegue calcular a media movel para os primeiros 5 pontos de dados porque nao existem pontos de dados anteriores suficientes. 9. Repita os passos 2 a 8 para o intervalo 2 eo intervalo 4. Conclusao: Quanto maior o intervalo, mais os picos e vales sao suavizados. Quanto menor o intervalo, mais proximas as medias moveis sao para os pontos de dados reais.