Wednesday 22 November 2017

Movendo Média Powerpivot


Post navigation. Calculating uma média móvel no PowerPivot. Two semanas atrás, eu prometi falar sobre como gerar uma média móvel no PowerPivot, mas na semana passada fiquei desviado dizendo-lhe sobre uma maneira legal de exibir vídeos do YouTube em suas páginas do SharePoint usando Uma parte da web encontrada no CodePlex que alguns dos meus membros da equipe de trabalho descobriram Foi tão fácil de implementar, eu só tinha que compartilhá-lo com você all. However, voltando de volta para o tema de calcular uma média móvel, a primeira pergunta pode ser o que É uma média móvel e, em seguida, por que você iria querer usar um A média móvel é simplesmente a soma de dois ou mais valores dependentes do tempo em que a soma é dividida pelo número de valores utilizados Por exemplo, se eu estivesse falando de estoque Os preços, eu posso querer usar algo como uma média móvel de 7 dias para amortecer o efeito de picos de dias individuais ou quedas no preço das ações que não são indicativos da tendência geral do estoque Alguns investidores de longo prazo usam médias de movimento de período ainda mais longo Tha T não significa que se uma ação despenca ou soars que eu iria sentar-se até que a média móvel me diz para agir Qualquer investidor bom estoque irá dizer-lhe há muitos outros fatores internos e externos a uma empresa que poderia forçar sua mão para vender Ou comprar qualquer estoque em particular Mas o ponto é, e esta é a resposta para a segunda pergunta, uma média móvel amortece aleatoriedade para que eu possa ver mais facilmente o padrão geral dos números que eu estou tracking. Ok, então suponha que eu trabalho para Contoso E eu queria saber se as vendas estão subindo, caindo ou geralmente plana Se eu olhar para as vendas diárias, os números são susceptíveis de flutuar para cima e para baixo em nenhum padrão particular impedindo-me de detectar uma tendência geral A figura a seguir mostra Contoso diário Contoso vendas sobre um Período de 3 meses durante o verão de 2008 eu escolhi para mostrar os dados como um gráfico para ajudar a mostrar como as vendas flutuam de dia revelando informações que eu poderia não ser capaz de ver como facilmente eu tinha criado uma tabela com os mesmos valores. Eu poderia traçar um ano inteiro ou mais, mas para ver dias individuais, eu teria que ampliar o gráfico substancialmente No entanto, mesmo com este período de tempo menor, posso ver que as vendas flutuam muito bem Mas eu poderia perguntar são as vendas aumentando , Diminuindo ou permanecendo o mesmo Se eu tiver um bom olho, eu poderia dizer que as vendas pico para o final de julho e depois cair para trás um pouco como o gráfico se move em agosto Mas isso não é tão óbvio como o fato de que há um grande Lidar de flutuação diária. Então, como posso exibir visualmente as tendências com Moving Average Sales Now para o propósito desta ilustração, vou criar uma média móvel de quatro dias, mas honestamente, não há um número certo de períodos em um movimento Na verdade, eu deveria experimentar diferentes períodos de tempo para ver qual período de tempo me permite detectar não só as tendências gerais, mas também neste caso em que estou exibindo as vendas da loja, em mudanças sazonais. Eu já sei que se eu exibir dados por Dia, eu posso usar o seguinte fo Rmula para calcular as vendas diárias de apenas o nosso canal de loja Sim, eu poderia simplesmente usar SalesAmount e aplicar um slicer de canal para usar apenas as vendas da loja, mas vamos ficar com o exemplo. Posso então usar essa medida calculada para calcular o dia anterior s Vendas para qualquer dia, criando a seguinte medida. StoreSales1DayAgo CALCULAR StoreSales, DATEADD DimDate DateKey, -1, dia. Você pode ser capaz de adivinhar que a fórmula para o cálculo de vendas há dois dias atrás e há três dias respectivamente are. StoreSales2DayAgo CALCULAR StoreSales, DATEADD DimDate DateKey, -2, day. StoreSales3DayAgo CALCULAR StoreSales, DATEADD DimDate DateKey, -3, day. With estes quatro valores calculados para cada dia, posso calcular a soma destes valores e dividir por 4 para obter uma média móvel de 4 dias Usando o seguinte valor calculado. FourDayAverage StoreSales StoreSales1DayAgo StoreSales2DayAgo StoreSales3DayAgo 4 0.Now se eu voltar a minha página de gráfico, eu deveria ver que o Excel atualiza a lista de campo para incluir As novas medidas calculadas Se eu, em seguida, adicionar o campo FourDayAverage para a caixa Valores criando uma segunda série no gráfico, agora tenho tanto as vendas diárias reais ea média móvel de quatro dias exibidos no mesmo gráfico O único problema é, eu também Quero mudar o formato de gráfico para exibir as vendas diárias minha primeira série de dados como colunas e minha média móvel minha segunda série de dados como uma linha Quando eu clique direito no gráfico e selecione Alterar tipo de gráfico, eu posso selecionar Combo como o tipo de gráfico como Mostrado na figura a seguir. Neste caso, o gráfico de Linha de Colunas em Cluster é exatamente o que eu quero Porque eu adicionei a série de média móvel à área de Valores por último, torna-se por padrão a Linha e todas as outras séries de dados aparecem como colunas agrupadas Tem um valor para cada dia, o gráfico mostra uma coluna individual por dia. Se eu tivesse entrado minha série de dados na área Valores na ordem errada, eu poderia simplesmente usar essa caixa de diálogo para selecionar o tipo de gráfico para cada série Quando eu clicar OK nesta caixa de diálogo, o meu gráfico agora se parece com o seguinte, que mostra mais claramente a mais da tendência geral e menos flutuação diária. Mas esperar, existe uma maneira mais fácil de fazer isso Por que sim há Mas para aprender a fazer isso, Você vai ter que esperar até a próxima semana. Post navigation. My Archives. Email Subscription. Topics Eu falo about. Rolling 12 meses Média em DAXputing a média de 12 meses de rolamento em DAX parece uma tarefa simples, mas esconde alguma complexidade Este artigo Explica como escrever a melhor fórmula evitando armadilhas comuns usando funções de inteligência de tempo. Começamos com o modelo de dados AdventureWorks usual, com produtos, vendas e tabela de calendário O calendário foi marcado como uma tabela de calendário é necessário trabalhar com qualquer função de inteligência de tempo E construímos uma hierarquia simples year-month-date Com esta configuração, é muito fácil criar uma primeira tabela dinâmica mostrando as vendas ao longo do tempo. Ao fazer análise de tendência, se as vendas estão sujeitas à sazonalidade ou, de forma mais geral, se você Queremos remover o efeito de picos e quedas nas vendas, uma técnica comum é a de calcular o valor ao longo de um determinado período, normalmente 12 meses, ea média. A média móvel em 12 meses fornece um bom indicador da tendência e é muito Útil em charts. Given uma data, podemos calcular a média móvel de 12 meses com esta fórmula, que ainda tem alguns problemas que vamos resolver mais tarde. O comportamento da fórmula é simples que calcula o valor de vendas após a criação de um filtro em O calendário que mostra exatamente um ano cheio de dados O núcleo da fórmula é o DATESBETWEEN, que retorna um conjunto inclusivo de datas entre os dois limites O inferior é. Leitura do mais íntimo se estamos mostrando dados de um mês, digamos Julho de 2007, tomamos a última data visível usando LASTDATE, que retorna o último dia em julho de 2007 Então usamos NEXTDAY para tomar o 1 de agosto de 2007 e finalmente usamos SAMEPERIODLASTYEAR para deslocá-lo de volta um ano, rendendo 01 de agosto de 2006 O superior Limite é simplesmente LASTDATE, ou seja, final de julho de 2007.Se usamos essa fórmula em uma tabela dinâmica, o resultado parece bom, mas temos um problema para a última data. Na verdade, como você pode ver na figura, o valor está corretamente Calculado até 2008 Então, não há valor em 2009, que é correto, não temos vendas em 2009, mas há um valor surpreendente em dezembro de 2010, onde a nossa fórmula mostra o total geral em vez de um valor em branco, como seria de esperar. Na verdade, em dezembro, LASTDATE retorna o último dia do ano e NEXTDAY deve retornar a 01 de janeiro de 2011 Mas NEXTDAY é uma função de inteligência de tempo e é esperado para retornar conjuntos de datas existentes Este fato não é muito evidente e vale a pena Algumas palavras more. Time funções de inteligência não executar matemática em datas Se você quiser ter o dia após uma determinada data, você pode simplesmente adicionar 1 a qualquer coluna de data, eo resultado será o próximo dia Em vez disso, as funções de inteligência de tempo deslocam Conjuntos de data de ida e volta ao longo do tempo Assim, NEXTDAY t Akes sua entrada no nosso caso uma tabela de uma linha com o 31 de dezembro de 2010 e desloca-lo um dia mais tarde O problema é que o resultado deve ser 01 de janeiro de 2011, mas, como a tabela do calendário não contém essa data, o resultado é BLANK. Assim, a nossa expressão calcula as vendas com um limite inferior em branco, o que significa o início do tempo, resultando como resultado o grande total de vendas Para corrigir a fórmula é suficiente para alterar a ordem de avaliação do limite inferior. Como você pode Ver, agora NEXTDAY é chamado após o deslocamento de um ano de volta Desta forma, tomamos 31 de dezembro de 2010, movê-lo para 31 de dezembro de 2009 e tomar o dia seguinte, que é 01 de janeiro de 2010 uma data existente na tabela de calendário . O resultado é agora o esperado. Neste ponto, precisamos apenas dividir esse número por 12 para obter a média móvel. Mas, como você pode facilmente imaginar, nem sempre podemos dividi-lo por 12. De fato, no início do Período não há 12 meses para agregar, mas um número mais baixo We n Eed para calcular o número de meses para os quais há vendas Isso pode ser feito usando a filtragem cruzada da tabela de calendário com a tabela de vendas depois que aplicamos o novo contexto de 12 meses Definimos uma nova medida que calcula o número de meses existentes nos 12 Meses. Você pode ver na próxima figura que a medida Months12M calcula um valor correto. Vale ressaltar que a fórmula não funciona se você escolher um período maior que 12 meses, porque o Calendário MonthName tem apenas 12 valores Se você Precisam de períodos mais longos, você precisará usar uma coluna YYYYMM para ser capaz de contar mais do que 12. A parte interessante desta fórmula que usa a filtragem cruzada é o fato de que ele calcula o número de meses disponíveis, mesmo quando você filtra usando outros atributos If , Por exemplo, você seleciona a cor azul usando um slicer, em seguida, as vendas começam em julho de 2007 não em 2005, como acontece para muitas outras cores Usando o filtro cruzado em vendas, a fórmula corretamente calcula que em 20 de julho 07 há um único mês de vendas disponíveis para Blue. At neste ponto, a média de rolamento é apenas um DIVIDE away. When usá-lo em uma tabela dinâmica, ainda temos uma pequena questão de fato, o valor é calculado também por meses Para o qual não há vendas ou seja, meses futuros. Isso pode ser resolvido usando uma declaração IF para evitar que a fórmula de mostrar valores quando não há vendas eu não tenho nada contra IF, mas, para o desempenho viciado entre você, é sempre vale a pena lembrar Que IF pode ser um assassino de desempenho, porque poderia forçar o motor de fórmula DAX para chutar dentro Neste caso específico, a diferença é insignificante, mas, como regra geral, a melhor maneira de remover o valor quando não há vendas é confiar Em fórmulas de mecanismo de armazenamento puro como este oneparing um gráfico usando o Avg12M com outro que mostra Vendas você pode facilmente apreciar como a média móvel esboça tendências de forma muito mais limpa way. Keep me informado sobre os próximos artigos newsletter Desmarque para baixar gratuitamente o arquivo. DAX inclui algumas funções de agregação estatística, como média, variância e desvio padrão. Outros cálculos estatísticos típicos exigem que você escreva expressões DAX mais longas. Excel, deste ponto de vista, tem uma linguagem muito mais rica. Os Padrões Estatísticos são uma coleção de Cálculos estatísticos comuns mediana, modo, média móvel, percentil e quartil Gostaríamos de agradecer a Colin Banfield, Gerard Brueckl e Javier Guilln, cujos blogs inspiraram alguns dos seguintes padrões. Exemplo de Padrão Básico As fórmulas neste padrão são as soluções Para cálculos estatísticos específicos. Você pode usar funções padrão DAX para calcular a média aritmética média de um conjunto de valores. AVERAGE retorna a média de todos os números em uma coluna numérica. AVERAGEA retorna a média de todos os números em uma coluna, tratando ambos Texto e valores não numéricos não numéricos e valores de texto vazios contados como 0.AVERAGEX calcular a média em uma expressão avaliada sobre uma tabela. Moving A A média móvel é um cálculo para analisar pontos de dados, criando uma série de médias de diferentes subconjuntos do conjunto de dados completo Você pode usar muitas técnicas DAX para implementar esse cálculo A técnica mais simples é usar AVERAGEX, iterando uma tabela da granularidade desejada E calcular para cada iteração a expressão que gera o único ponto de dados a ser usado na média. Por exemplo, a seguinte fórmula calcula a média móvel dos últimos 7 dias, supondo que você esteja usando uma tabela Data no modelo de dados. Usando o AVERAGEX, Você calcula automaticamente a medida em cada nível de granularidade Ao usar uma medida que pode ser agregada, como SUM, então outra abordagem baseada em CALCULAR pode ser mais rápida Você pode encontrar essa abordagem alternativa no padrão completo da Média Móvel. Você pode usar funções padrão DAX Para calcular a variância de um conjunto de valores. VAR S retorna a variância de valores em uma coluna que representa uma população de amostra. VAR P retorna a Variância de valores em uma coluna que representa a população inteira. VARX S retorna a variância de uma expressão avaliada sobre uma tabela representando uma população de amostra. VARX P retorna a variância de uma expressão avaliada sobre uma tabela representando toda a população. Desvio Padrão. Você pode Use funções DAX padrão para calcular o desvio padrão de um conjunto de valores. STDEV S retorna o desvio padrão de valores em uma coluna que representa uma população de amostra. STDEV P retorna o desvio padrão de valores em uma coluna que representa toda a população. STDEVX S retorna O desvio padrão de uma expressão avaliada sobre uma tabela representando uma população de amostra. STDEVX P retorna o desvio padrão de uma expressão avaliada sobre uma tabela representando a população inteira. A mediana é o valor numérico que separa a metade mais alta de uma população da metade inferior Se houver um número ímpar de linhas, a mediana é o valor médio classificando as linhas do menor valor t O valor mais alto Se houver um número par de linhas, é a média dos dois valores médios A fórmula ignora os valores em branco, que não são considerados parte da população O resultado é idêntico à função MEDIAN no Excel. A Figura 1 mostra Uma comparação entre o resultado retornado pelo Excel ea fórmula DAX correspondente para o cálculo mediano. Figura 1 Exemplo de cálculo mediano no Excel e DAX. O modo é o valor que aparece com mais freqüência em um conjunto de dados A fórmula ignora os valores em branco, que Não são considerados parte da população O resultado é idêntico ao MODE e funções no Excel, que retornam apenas o valor mínimo quando existem vários modos no conjunto de valores considerados A função do Excel retornaria todos os modos, mas você não pode implementar Como uma medida no DAX. Figura 2 compara o resultado retornado pelo Excel com a fórmula DAX correspondente para o modo de cálculo. Figura 2 Exemplo de cálculo de modo em Excel e DAX. O percentil é t O valor abaixo do qual uma determinada porcentagem de valores em um grupo cai A fórmula ignora os valores em branco, que não são considerados parte da população O cálculo em DAX requer várias etapas, descritas na seção Padrão Completo, que mostra como obter os mesmos resultados Das funções Excel PERCENTILE, e. Os quartis são três pontos que dividem um conjunto de valores em quatro grupos iguais, cada grupo compreendendo um quarto dos dados. Você pode calcular os quartis usando o padrão Percentile, seguindo essas correspondências. Primeiro quartil quartil inferior 25º percentil. Segundo quartil mediano 50º percentil. Terceiro quartil quartil superior 75º percentileplete Padrão. Alguns cálculos estatísticos têm uma descrição mais longa do padrão completo, porque você pode ter diferentes implementações dependendo dos modelos de dados e outros requisitos. Geralmente você avalia a média móvel referenciando o nível de granularidade do dia O modelo geral do followin G fórmula tem esses marcadores. número de dias é o número de dias para a média móvel. datecolumn é a coluna de data da tabela de data, se você tiver um, ou a coluna de data da tabela contendo valores se não houver nenhuma data tabela. measure é A medida para calcular como a média móvel. O padrão mais simples usa a função AVERAGEX no DAX, que considera automaticamente apenas os dias para os quais existe um valor. Como alternativa, você pode usar o modelo a seguir em modelos de dados sem uma tabela de datas e Com uma medida que pode ser agregada como a SOM durante todo o período considerado. A fórmula anterior considera um dia sem dados correspondentes como uma medida que tem 0 valor Isso pode acontecer somente quando você tem uma tabela de datas separada, que pode conter dias para Que não há transações correspondentes Você pode fixar o denominador para a média usando apenas o número de dias para o qual existem transações usando o seguinte padrão, onde. fatável é a tabela relacionada a A tabela de datas e contendo os valores calculados pela medida. Você pode usar as funções DATESBETWEEN ou DATESINPERIOD em vez de FILTER, mas elas funcionam apenas em uma tabela de datas regular, enquanto você pode aplicar o padrão descrito acima também para tabelas de datas não-regulares e para Modelos que não têm uma tabela de data. Por exemplo, considere os diferentes resultados produzidos pelas duas medidas a seguir. Na Figura 3, você pode ver que não há vendas em 11 de setembro de 2005 No entanto, essa data está incluída na tabela Data Portanto, há 7 dias de 11 de setembro a 17 de setembro que têm apenas 6 dias com data. Figure 3 Exemplo de um cálculo de Média Móvel considerando e ignorando datas sem vendas. A medida Moving Average 7 Days tem um número menor entre 11 de setembro e 17 de setembro, porque ele considera 11 de setembro como um dia com 0 vendas Se você quiser ignorar dias sem vendas, em seguida, use a medida Moving Average 7 Dias Sem Zero Esta poderia ser a abordagem certa quando você tem uma data completa t Mas você deseja ignorar dias sem transações. Usando a fórmula Moving Average 7 Days, o resultado está correto porque AVERAGEX automaticamente considera apenas valores não em branco. Tenha em mente que você pode melhorar o desempenho de uma média móvel, persistindo o valor em Uma coluna calculada de uma tabela com a granularidade desejada, como data ou data e produto No entanto, a abordagem de cálculo dinâmico com uma medida oferece a capacidade de usar um parâmetro para o número de dias da média móvel, por exemplo, substituir número de dias por uma medida Implementando o padrão de Tabela de Parâmetros. A mediana corresponde ao percentil 50, que você pode calcular usando o padrão Percentil. No entanto, o padrão Mediano permite otimizar e simplificar o cálculo mediano usando uma única medida, em vez das várias medidas exigidas pelo Padrão de percentis Você pode usar essa abordagem ao calcular a mediana dos valores incluídos na coluna de valores, conforme mostrado abaixo. Se você quiser obter a mediana para os resultados de uma medida no modelo de dados. No entanto, antes de fazer essa otimização, você deve implementar o cálculo MedianX com base na Por exemplo, pode ser a tabela de datas se você deseja calcular a mediana de uma medida calculada no nível do dia, ou pode ser VALORES Data AnoMonth Se você quiser calcular a mediana de uma medida calculada no nível do mês. A medida é a medida para computar para cada linha de granularitytable para o cálculo mediano. measuretable é a tabela que contem dados usados ​​pela medida Por exemplo, se o granularitytable for uma dimensão Como Date, então o measuretable será Internet Sales contendo a coluna Internet Sales Amount somado pela Internet Total Sales medida. Por exemplo, você pode escrever a mediana Das vendas totais de Internet para todos os clientes em Adventure Works como segue. Tip O seguinte pattern. is é usado para remover linhas de granularitytable que não têm dados correspondentes na seleção atual É uma maneira mais rápida do que usar a seguinte expressão. No entanto, você pode Substituir toda a expressão CALCULATETABLE com apenas granularitytable se você quiser considerar valores em branco da medida como 0.O desempenho da fórmula MedianX depende do número de linhas na tabela iterada e sobre a complexidade da medida Se o desempenho é ruim, você Pode persistir o resultado da medida em uma coluna calculada da tabela, mas isso irá remover a capacidade de aplicar filtros para o cálculo mediano no tempo de consulta. Excel tem duas implementações diferentes de cálculo de percentil com três funções PERCENTILE, e todos eles retornam o K - Percentil de valores, onde K está na faixa de 0 a 1 A diferença é que PERCENTILE e considerar K como um intervalo inclusivo, enquanto considera o K Intervalo de 0 a 1 como exclusive. Todas essas funções e suas implementações DAX receber um valor percentil como parâmetro, que chamamos de valor percentil KK está no intervalo de 0 a 1.As duas implementações DAX de percentil exigem algumas medidas que são semelhantes, Mas diferente o suficiente para exigir dois conjuntos diferentes de fórmulas As medidas definidas em cada padrão são. KPerc O valor percentil corresponde a K. PercPos A posição do percentil no conjunto classificado de valores. ValueLow O valor abaixo do percentil position. ValueHigh O Valor acima da posição percentil. Período O cálculo final do percentil. Você precisa das medidas ValueLow e ValueHigh no caso do PercPos contém uma parte decimal, porque então você tem que interpolar entre ValueLow e ValueHigh, a fim de retornar o valor percentil correto. 4 mostra um exemplo dos cálculos feitos com as fórmulas Excel e DAX, usando ambos os algoritmos de percentil inclusivos e exclusivos. Figura 4 Percentile calcu As fórmulas Percentile executam o cálculo em valores armazenados em uma coluna de tabela, Data Value, enquanto que as fórmulas PercentileX executam o cálculo em valores retornados por uma medida calculada em uma determinada granularidade . A implementação Percentile Inclusive é a seguinte. A implementação Percentile Exclusive é a seguinte. PercentileX Inclusive. A implementação PercentileX Inclusive é baseada no seguinte modelo, usando estes marcadores. granularitytable é a tabela que define a granularidade de O cálculo Por exemplo, poderia ser a tabela de Data se você quiser calcular o percentil de uma medida no nível do dia, ou poderia ser VALORES Data AnoMonth se você quiser calcular o percentil de uma medida no nível do mês. A medida para computar para cada linha de granularitytable para o cálculo do percentile. measuretable é o ta Por exemplo, se o granularitytable for uma dimensão tal como Date, então o measuretable será Sales contendo a coluna Amount somada pela medida Total Amount. Por exemplo, você pode escrever o PercentileXInc do Total Montante de Vendas para Todas as datas na tabela Data como follows. PercentileX Exclusive. A implementação do PercentileX Exclusive é baseada no modelo a seguir, usando os mesmos marcadores usados ​​no PercentileX Inclusive. Por exemplo, você pode escrever o PercentileXExc do montante total de vendas para todas as datas Na tabela da data como follows. Keep me informado sobre os próximos padrões newsletter Desmarque para baixar gratuitamente o arquivo. Published em 17 de março de 2014 por.

No comments:

Post a Comment