Tuesday, November 22, 2016

Ytd Moving Average

Rolling 12 Months Average en DAX Computing el promedio móvil de 12 meses en DAX parece una tarea sencilla, pero oculta algo de complejidad. En este artículo se explica cómo escribir la mejor fórmula evitando las trampas comunes utilizando funciones de inteligencia de tiempo. Comenzamos con el habitual modelo de datos de AdventureWorks, con la tabla Productos, Ventas y Calendario. El calendario se ha marcado como una tabla de calendario (es necesario trabajar con cualquier función de inteligencia de tiempo) y hemos creado una jerarquía simple año-mes-fecha. Con esta configuración, es muy fácil crear una primera tabla dinámica mostrando las ventas a lo largo del tiempo: Al hacer el análisis de tendencias, si las ventas están sujetas a la estacionalidad o, de manera más general, si desea eliminar el efecto de picos y caídas en las ventas, La técnica común es la de calcular el valor durante un período dado, por lo general 12 meses, y la media. El promedio móvil durante 12 meses proporciona un indicador suave de la tendencia y es muy útil en los gráficos. Dada una fecha, podemos calcular el promedio móvil de 12 meses con esta fórmula, que todavía tiene algunos problemas que resolveremos más adelante: El comportamiento de la fórmula es simple: calcula el valor de Sales después de crear un filtro en el calendario que Muestra exactamente un año completo de datos. El núcleo de la fórmula es el DATESBETWEEN, que devuelve un conjunto inclusivo de fechas entre los dos límites. El más bajo es: Leerlo desde lo más interno: si estamos mostrando los datos de un mes, digamos julio de 2007, tomamos la última fecha visible usando LASTDATE, que devuelve el último día en julio de 2007. Luego usamos NEXTDAY para tomar el 1er De agosto de 2007 y finalmente utilizamos SAMEPERIODLASTYEAR para cambiarlo de nuevo un año, dando el 1 de agosto de 2006. El límite superior es simplemente LASTDATE, es decir, a finales de julio de 2007. Si utilizamos esta fórmula en una tabla dinámica, el resultado parece bien, pero nos Tiene un problema para la última fecha: De hecho, como se puede ver en la figura, el valor se calcula correctamente hasta 2008. Entonces, no hay valor en 2009 (que es correcto, no tenemos ventas en 2009), pero no hay Un valor sorprendente en diciembre de 2010, donde nuestra fórmula muestra el total general en lugar de un valor en blanco, como cabría esperar. De hecho, en diciembre, LASTDATE devuelve el último día del año y NEXTDAY debe volver el 1 de enero de 2011. Pero NEXTDAY es una función de inteligencia de tiempo y se espera que devuelva conjuntos de fechas existentes. Este hecho no es muy evidente y vale la pena algunas palabras más. Las funciones de inteligencia de tiempo no realizan matemáticas en fechas. Si desea tomar el día después de una fecha determinada, simplemente puede agregar 1 a cualquier columna de fecha, y el resultado será el día siguiente. En su lugar, las funciones de inteligencia de tiempo cambian los conjuntos de fecha y vuelta en el tiempo. Así, NEXTDAY toma su entrada (en nuestro caso una tabla de una fila con el 31 de diciembre de 2010) y lo cambia un día después. El problema es que el resultado debe ser el 1 de enero de 2011 pero, como la tabla de calendario no contiene esa fecha, el resultado es BLANK. Por lo tanto, nuestra expresión calcula las ventas con un límite inferior en blanco, lo que significa el comienzo del tiempo, dando como resultado el gran total de las ventas. Para corregir la fórmula basta con cambiar el orden de evaluación del límite inferior: Como se puede ver, ahora se llama NEXTDAY después del cambio de un año atrás. De esta manera, tomamos 31 de diciembre de 2010, trasladarlo al 31 de diciembre de 2009 y tomar el día siguiente, que es el 1 de enero de 2010: una fecha existente en la tabla de calendario. El resultado es ahora el esperado: en este punto, solo necesitamos dividir ese número por 12 para obtener el promedio de balanceo. Pero, como se puede imaginar fácilmente, no siempre se puede dividir por 12. De hecho, al principio del período no hay 12 meses para agregar, pero un número menor. Tenemos que calcular el número de meses para los que hay ventas. Esto se puede lograr mediante el filtrado cruzado de la tabla de calendario con la tabla de ventas después de aplicar el nuevo contexto de 12 meses. Definimos una nueva medida que calcula el número de meses existentes en el período de 12 meses: Puede ver en la siguiente figura que la medida Months12M calcula un valor correcto: Vale la pena notar que la fórmula no funciona si elige un período Más de 12 meses, ya que CalendarMonthName tiene sólo 12 valores. Si necesita periodos más largos, tendrá que usar una columna AAAAMM para poder contar más de 12. La parte interesante de esta fórmula que utiliza el filtrado cruzado es el hecho de que calcula el número de meses disponibles incluso cuando se filtra utilizando otros Atributos Si, por ejemplo, selecciona el color azul con un cortador, las ventas comienzan en julio de 2007 (no en 2005, como sucede con muchos otros colores). Usando el filtro cruzado en Ventas, la fórmula calcula correctamente que en julio de 2007 hay un mes de ventas disponibles para Blue: En este punto, el promedio de balanceo es sólo un DIVIDE de distancia: Cuando lo usamos en una Tabla de Pivot, todavía Tiene un pequeño problema: de hecho, el valor se calcula también para los meses para los que no hay ventas (es decir, meses futuros): Esto se puede resolver mediante una declaración de IF para evitar que la fórmula de mostrar los valores cuando no hay ventas. No tengo nada en contra de IF, pero, para los adictos al rendimiento entre ustedes, siempre vale la pena recordar que IF podría ser un asesino de rendimiento, ya que podría forzar el motor de la fórmula DAX a patear pulg En este caso específico, la diferencia es insignificante, pero , Como regla general, la mejor manera de quitar el valor cuando no hay ventas es confiar en fórmulas puras del motor del almacenaje como éste: Comparando un gráfico usando el Avg12M con otro que demuestre ventas usted puede apreciar fácilmente cómo la media móvil Describe las tendencias de una manera mucho más limpia: Descargar Manténgame informado sobre los próximos artículos (boletín). Uncheck para descargar libremente el archivo. Cómo compara Ingredion a los pares en los promedios móviles dominantes Comparaciones entre pares Ingrediions los pares en la industria incluyen Kellogg (K), Archer-Daniels Midland (ADM), y los molinos generales (GIS). Kellogg cerró a 85.99 el 15 de julio. Eso es 12 por encima de su media móvil de 100 días, 11 por encima de su media móvil de 50 días, y 7.2 por encima de su media móvil de 20 días. Ha aumentado en 19 YTD. Kellogg forma parte del ETF de alto dividendo PowerShares SampP 500 (SPHD) y del ETP 500 de baja volatilidad de PowerShares SampP (SPLV). Archer-Daniels Midland está negociando 12 por encima de su media móvil de 100 días, 6 por encima de su media móvil de 50 días, y 4 por encima de su media móvil de 20 días. Ha aumentado 20 en 2016. General Mills ha subido 25 YTD. Su comercio 13 por encima de su media móvil de 100 días, 9 por encima de su media móvil de 50 días, y 4 por encima de su media móvil de 20 días. Archer-Daniels Midland y General Mills cerraron a 43,95 y 73,02, respectivamente, el 15 de julio de 2016. El Primer Fideicomiso Trust Staples Alpha DEX ETF (FXG) invierte 3,2 en Ingredion, 0,84 en General Mills, 3,0 en Archer-Daniels Midland y 2,9 en Kellogg. FXG ha devuelto 10 YTD. FXG está negociando 5, 3,2 y 2,2 por encima de sus medias móviles de 100 días, 50 días y 20 días, respectivamente. Se cerró a las 49.02 el 15 de julio. Notablemente, el PowerShares DWA Consumer Staples Momentum ETF (PSL) invierte 2.8 en Ingredion. Para el período de 12 meses, todas las acciones anteriores han superado las estimaciones de analistas a partir del 15 de julio de 2016.Cant usted acaba de poner su medida calculada después de la declaración de alcance para que se basa en la versión YTD de SalesAmount Estoy adivinando que un Medida como el recuento de la tienda no sería aditivo con el tiempo y sería una última medida de estilo no vacía. Si estoy equivocado y se supone que es aditivo, entonces podría agregar el conteo de la tienda a su ámbito original. Geekswithblogs / darrengosbell - marque las respuestas correctas Marcado como respuesta tss68nl Viernes 13 de Febrero de 2009 3:18 PM Miércoles 28 de Enero de 2009 6:18 AM Todas las respuestas Cant us us (Date Calculations. YTD, Measures. SalesAmount) / ( Fecha Cálculos. YTD, Medidas. StoreCount) en este escenario. Hegde Cant que acaba de poner su medida calculada después de la declaración de alcance para que se basa en la versión YTD de SalesAmount Estoy adivinando que una medida como el recuento de la tienda no sería aditivo en el tiempo y sería un último no vacío estilo medida. Si estoy equivocado y se supone que es aditivo, entonces podría agregar el conteo de la tienda a su ámbito original. Por favor, marque las respuestas correctas Marcado como respuesta tss68nl Viernes 13 de Febrero de 2009 15:18 Miércoles, 28 de enero de 2009 6:18 Microsoft está realizando una encuesta en línea para entender su opinión sobre el sitio web de Msdn. Si decide participar, se le presentará la encuesta en línea cuando abandone el sitio Web de Msdn. ¿Te gustaría participar 2016 Microsoft. Todos los derechos reservados. Inside Ingredion8217s y Peers8217 Principales medias móviles Ingredios promedios móviles El 20 de abril de 2016, Ingredion (INGR) cerró en 106.58. Se negoció 6,5 por encima de su media móvil de 100 días, 1,5 por encima de su media móvil de 50 días, y 1,1 por debajo de su media móvil de 20 días. El precio de las acciones se ha incrementado en 11 al 20 de abril. Los Ingredientes de la industria incluyen Campbell Soup (CPB), Kellogg (K), Archer Daniels Midland (ADM) y General Mills ). Por comparación, Campbell Soup cerró en 61,40, que es 6,1 por encima de su media móvil de 100 días, 1,4 por debajo de su media móvil de 50 días, y 3,4 por debajo de su media móvil de 20 días. YTD, la acción se ha levantado por 17. Kellogg cerró en 76.7 el 20 de abril, que es 4.6 sobre su media móvil de 100 días, 1.6 sobre su media móvil de 50 días, 0.1 debajo de sus 20 días de media móvil. YTD, se ha incrementado en 6. Archer Daniels Midland se negocia 10,2 por debajo de su media móvil de 100 días, 8,7 por encima de su media móvil de 50 días, y 6,3 por encima de su media móvil de 20 días. Ha aumentado 6 en 2016. YTD, General Mills ha aumentado 7. Su comercio 5 por encima de su media móvil de 100 días, 1,5 por debajo de su media móvil de 50 días, y 2 por debajo de su media móvil de 20 días. Archer Daniels Midland y General Mills cerraron el 20 de abril a 38.8 y 61.6 respectivamente. ETFs relacionados y estimaciones de analistas El fondo First Trust Consumer Staples Alpha DEX (FXG) invierte 3,2 en Ingredion, 0,84 en General Mills, 1,8 en Campbell Soup, 3,03 En Archer Daniels Midland, y 2.9 en Kellogg. FXG está negociando 3.6 y 1.8 por encima de sus medias móviles de 100 días y 50 días. Se está negociando 0,31 por debajo de su media móvil de 20 días y cerró a 46,03 el 20 de abril. Notablemente, el PowerShares DWA Consumer Staples Momentum Cartera (PSL) invierte 2,8 en INGR. Para el período de 12 meses, las estimaciones de analistas indican aumentos de 0,4 para Ingredion, 6 para Archer Daniels Midland, 0,5 para Campbell y 3,4 para General Mills (en relación a sus niveles actuales el 20 de abril). Mientras tanto, Kellogg ya superó las estimaciones de analistas en 1,4 el 20 de abril. FXG ha reportado retornos acumulados de 3,5. Para el análisis en curso, no deje de comprobar con Market Realists Consumer Staples page. Cant que acaba de poner su medida calculada después de la declaración de alcance para que se basa en la versión YTD de SalesAmount Estoy adivinando que una medida como el recuento de la tienda no sería additive más Tiempo y sería una última medida de estilo no vacía. Si estoy equivocado y se supone que es aditivo, entonces podría agregar el conteo de la tienda a su ámbito original. Geekswithblogs / darrengosbell - marque las respuestas correctas Marcado como respuesta tss68nl Viernes 13 de Febrero de 2009 3:18 PM Miércoles 28 de Enero de 2009 6:18 AM Todas las respuestas Cant us us (Date Calculations. YTD, Measures. SalesAmount) / ( Fecha Cálculos. YTD, Medidas. StoreCount) en este escenario. Hegde Cant que acaba de poner su medida calculada después de la declaración de alcance para que se basa en la versión YTD de SalesAmount Estoy adivinando que una medida como el recuento de la tienda no sería aditivo en el tiempo y sería un último no vacío estilo medida. Si estoy equivocado y se supone que es aditivo, entonces podría agregar el conteo de la tienda a su ámbito original. Por favor, marque las respuestas correctas Marcado como respuesta tss68nl Viernes 13 de Febrero de 2009 15:18 Miércoles, 28 de enero de 2009 6:18 Microsoft está realizando una encuesta en línea para entender su opinión sobre el sitio web de Msdn. Si decide participar, se le presentará la encuesta en línea cuando abandone el sitio Web de Msdn. ¿Quieres participar? Ayúdanos a mejorar MSDN. Visita nuestra página UserVoice para enviar y votar ideas


No comments:

Post a Comment