Anónimo
Estimados,
Estoy buscando alguna solución de gráficos en PowerBI de la siguiente manera (ejemplo realizado en Webi).
1. Línea amarilla: volumen de negocios corriente de MTD por día del mes actual. con un cortar a ayer.
2. Línea gris: último año, mes completo, volumen de negocios corriente por día del mes.
3. Línea azul: suma corriente de un número constante dividido por el total de días del mes. (es básicamente una línea recta, donde termina el valor de esta constante dada)
He probado muchas sugerencias diferentes, mis puntos débiles todavía son
1. Mi línea total de ejecución de MTD no es cortando en la fecha de ayer.
2. para mostrar las tres líneas en una tabla.
Mi tabla de volumen de negocios tiene información de «Día calendario» en formato de texto, por ejemplo, «20200201». El mismo día podría tener muchos registros de facturación por grupo de mercado.
Lo he vinculado con una tabla de fechas DateT, en DateT[Calendar Day] columnas (también en formato de texto).
He creado entonces un DateT[Date] como formato de fecha y hora. DateT[DayNo] muestra el número de día en el mes.
Enlace de muestra de datos
Aprecio que podría haber una respuesta con un archivo pbxi de muestra, si es posible.
¡Gracias por adelantado!
El código que probé para el total acumulado de MTD es:
PaulDBrown
En respuesta a Anónimo
@Anónimo
Aquí tienes:
Actualicé el archivo en el enlace que publiqué anteriormente.
PaulDBrown
@Anónimo
Puede compartir el archivo subiéndolo a OneDrive, Dropbox, Google Drive o similar y compartiendo el enlace. ¿Alguno de esos es una opción?
Anónimo
En respuesta a PaulDBrown
Hola Pablo,
gracias por mirarlo, el siguiente es un conjunto de datos de muestra.
Compartir archivo Pbix
Estoy tratando de usar 3 medidas para derivar las 3 líneas que se muestran en el gráfico, pero en vano.
PaulDBrown
En respuesta a Anónimo
@Anónimo
Hola,
Esto es lo que he logrado hasta ahora:
No estoy muy seguro de que el total acumulado del año pasado sea lo que busca (viendo los valores mostrados en el MTD de este año), pero básicamente no he cambiado el cálculo real en su medida original (solo las referencias de fecha)
He reelaborado su tabla de fechas para incluir fechas continuas que cubren todo el rango de fechas incluidas en su modelo (se recomienda hacerlo …) y reescribí algunas medidas (las he incluido en una nueva tabla llamada » Medidas de PRUEBA «para una fácil referencia).
Verifique si esto resuelve su problema (o regrese si necesita más ayuda)
Aquí está el archivo PBIX:
Prueba de datos de muestra
Tenga en cuenta que para crear la tabla de fechas tuve que exportar la tabla de datos de volumen de negocios para volver a importarla. Por lo tanto, el archivo fuente en Power Query en este archivo PBIX se relaciona con un archivo en mi computadora; tendrá que volver a conectar esta tabla a su propio archivo fuente en Power Query.
Anónimo
En respuesta a PaulDBrown
Hola @PaulDBrown
¡Gracias por su rápida respuesta!
Su solución funcionó en cada uno de los 2 elementos visuales por separado,
sin embargo, mi intención principal es mostrar estas 3 medidas en un gráfico. . (como seguir.)
De modo que pudiéramos rastrear la línea amarilla (facturación de MTD en el mes actual), con la línea gris (voltear el mismo mes del año pasado), así como compararla con la línea azul (facturación planificada este mes. (Básicamente = un entero constante / Número de días en el mes actual, por ejemplo, 2080/29 para febrero)
visualizando una imagen total acumulada, para las 3 medidas,
entonces podríamos monitorear fácilmente, si estamos por encima o por debajo del plan / ventas del año pasado, día a día en el mes actual.
Esa comparación se puede hacer fácilmente en Webi, pero parece que esto es demasiado difícil de implementar en PowerBI. (no encontré ninguna publicación en el foro de POWERBI que pudiera ayudar a mi solicitud aquí 😞 )
Entonces, mi pregunta es, ¿cuál es la mejor manera de mostrarlos en imágenes en powerBI? ¿alguna sugerencia?
PaulDBrown
En respuesta a Anónimo
@Anónimo
Se puede hacer sin problemas en PBI. Sin embargo, una cosa que debe verificar son los cálculos tanto para MTD como para las medidas del año anterior: ¡uno entrega valores en cientos o miles mientras que el otro entrega valores en MIL MILLONES! Por lo tanto, trazarlos en el mismo gráfico, para fines de comparación directa, no tiene sentido. (Tengo la sospecha de que quiere dividir los datos del año anterior por el mismo denominador que usó en el MTD, pero su medida original no tenía esto en el cálculo, solo una SUMA directa)
Por cierto, la línea constante que mencionas será una línea horizontal plana a lo largo de todos los días, ¿correcto?
Anónimo
En respuesta a PaulDBrown
Hola @PaulDBrown,
¡Es genial tener noticias tuyas en breve!
Sí, es mi error que me olvidé de dividirlo por un millón. Después de dividir, todo debería estar en un nivel de miles.
El valor constante es un plan mensual que obtengo de otra fuente de datos.
En el gráfico, debería mostrarse como una línea que asciende. (total acumulado de una parte del día a día)
Por ejemplo, febrero tiene 29 días, el valor constante que obtuvimos es 2900. Luego tenemos que subir 100 cada día (29000/29) y termina 2900 el día 29.
Soy capaz de derivar el número total de días en el mes actual, sin embargo, no pude averiguar cómo puedo ponerlo en el mismo eje en el gráfico.
PaulDBrown
En respuesta a Anónimo
@Anónimo
Aquí tienes:
Actualicé el archivo en el enlace que publiqué anteriormente.
Anónimo
En respuesta a PaulDBrown
¡Personal increíble @PaulDBrown!
Me llevará poco tiempo digerir, implementar y revertir.
¡Definitivamente es la solución!
Una pregunta rápida, ¿es posible extraer el número de día como el eje X en lugar de la fecha del mes actual? Ese es un problema menor, si no se puede realizar.
También tengo una pregunta, con respecto a la cláusula if (max () ..), ya que no está relacionada con esta publicación, le enviaré un PM por separado. Espero que esté bien 🙂
¡Un millón de gracias por la gran solución!
PaulDBrown
En respuesta a Anónimo
@Anónimo
Me alegro de que lo resolviéramos eventualmente.
Con respecto a su pregunta sobre el uso de números de días en lugar de fechas, requeriría diferentes medidas para aquellos en los que he usado funciones de inteligencia de tiempo (a saber, DATESMTD) – Las funciones de inteligencia de tiempo requieren un contexto de filtro de «fecha».
¡Feliz de ayudar!
Mejor,
Anónimo
En respuesta a PaulDBrown
Hola @PaulDBrown,
Gracias ! Finalmente me di cuenta de la visulización con tu ayuda.
Aún quedan pocas preguntas abiertas interesadas. Espero que puedas ayudar cuando tengas tiempo.
1. ¿Cuál es la mejor manera de agregar un valor constante al total acumulado, antes de que comience?
Digamos que antes de que comience el mes, vamos a realizar algunos ajustes, por ejemplo, 100.
Eso significa que la suma acumulada de la facturación del mes actual comenzó en 140,18 en lugar de 40,18 el primer día, en el siguiente ejemplo. Intenté de varias formas, sin éxito 😞
Pregunta 2: Soy muy courios, ¿cómo pudiste lograr 29, por función? Días del mes = DÍA (ENDOFMONTH (DateT[Date])). Usé la misma función, me muestra un valor diferente (1). Supongo que debes tener algunos trucos ocultos en el grupo de medida 🙂
Pregunta 3: si es posible, espero que pueda ayudar a hacer una codificación sin Time-Intelligience (DATESMTD), solo para una medida «MTD Turnover». Dado que la inteligencia de tiempo no está permitida en el modo de consulta directa, es muy posible que nuestro informe de ventas necesite un enlace directo.
¡Gracias!
Todo lo mejor 🙂
PaulDBrown
En respuesta a Anónimo
@Anónimo
Para responder tu pregunta:
1) para ajustar +100, solo incluya +100 al final de la medida (sin embargo, deberá establecer un filtro para el período que desea ver, ya que el +100 se aplicará para cada fecha en el contexto del filtro) – por ejemplo, para este mes (cortando ayer), sería:
100 + Cumul Turnover (cutoff Yesterday) =
VAR calc100 = [TEST CALC M100 MTD accumulative turnover] +100
RETURN
IF(MAX(DateT[DatenumbMonth]) = YEAR(TODAY()) *100 + MONTH(TODAY())
&& MAX(DateT[Date]) < TODAY();
calc100; BLANK())
3) ¡No hay ningún secreto para el cálculo del número de días del mes! 🙂
Todo lo que debe tener en cuenta es que la función ENDOFMONTH requiere un contexto de fecha para devolver la «última fecha del mes» para esa fecha. En otras palabras, si coloca la medida en una tabla o visual con fechas, devolverá la última fecha del mes correspondiente a la fecha en el contexto del filtro (al agregar la función DÍA, la medida devuelve el número de día para ese ( último del mes) fecha):
Es solo una forma de «contar» el número de días de cada mes.
Si no tiene un contexto de fecha (por ejemplo, si usa un visual de tarjeta), la función ENDOFMONTH se «pierde» y entrega un valor predeterminado de 1. Entonces, si desea usarlo en una tarjeta, como tiene hecho, por ejemplo, debe establecer una referencia de fecha. Para el mes actual sería:
Days in Month (for card) =
CALCULATE(DAY(ENDOFMONTH(DateT[Date]));
FILTER(datet;
DateT[Date] = TODAY()))
3)
a) Rotación de MTD (para el mes actual) sin inteligencia de tiempo:
MTD Turnover (no TI) = CALCULATE([Total Turnover]/1000000;
FILTER(ALL(DateT);
DateT[Date] <= MAX(DateT[Date])
&& DateT[DatenumbMonth] = YEAR(TODAY()) *100 + MONTH(TODAY())))
B) Rotación de MTD (para el mes actual) sin inteligencia de tiempo (corte ayer):
MTD Turnover (no TI - cut off yesterday) =
VAR calc = CALCULATE([Total Turnover]/1000000;
FILTER(ALL(DateT);
DateT[Date] <= MAX(DateT[Date])
&& DateT[DatenumbMonth] = YEAR(TODAY()) *100 + MONTH(TODAY())))
RETURN
IF(MAX(DateT[Date]) < TODAY(); calc; BLANK())
Y todo esto te da esto:
Actualicé el archivo en el enlace publicado arriba con las nuevas medidas (en una tabla llamada «Nuevas medidas») para su referencia.
EDITAR: ¡Disculpas porque me acabo de dar cuenta de que las nuevas medidas que publiqué originalmente devolvieron los valores de facturación bruta! Ahora los he corregido (dividido por 1000000) y actualizado las medidas incluidas anteriormente, así como el archivo en sí.