Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola, aquí está mi problema: en el eje X tengo 60 días calendario. En el eje Y tengo la cantidad de artículos en stock. Se trata de una medida, una fórmula DAX calculada que refleja las compras (número de mercancías entrantes) y las ventas (número de mercancías salientes). Muchos días no tienen actividad. Es un negocio bastante.
Digamos en day_10 ha habido algunas mercancías entrantes, lo que resulta en una serie de artículos en stock de un total de 80. La siguiente actividad es 6 días después, en day_16, con 24 elementos salientes. Esto hace que day_16 termine con un número de artículos en stock de un total de 56 (como 80 - 24 x 56). Hasta ahora, bien.
El problema es que mi gráfico comienza a disminuir directamente después de day_10, con -4 por día. La línea en el gráfico disminuye diagonalmente durante 6 días seguidos, para terminar exactamente en 56. Así que el punto de partida es correcto (80), el punto final es correcto (56), pero la línea debe, por supuesto, permanecer horizontalmente en 80 durante day_11, day_12, day_13, day_14 y day_15 y finalmente caer a paso por 24 el día 16.
¿Cómo obtengo una línea escalonada horizontal en mi gráfico, en lugar de líneas diagonales?
Saludos amables, Coen Thénissen
Hola @Coen_Thönissen ,
Según mi opinión, desea lograr cambios horizontales en lugar de cambios diagonales entre dos valores no vacíos, ¿verdad?
Puede seguir estos pasos:
1. Cree una tabla de calendario:
Table 2 =
CALENDAR ( MIN ( 'Table'[Date] ), MAX ( 'Table'[Date] ) )
2.Obtenga el valor de la tabla original:
value =
LOOKUPVALUE ( 'Table'[Change], 'Table'[Date], 'Table 2'[Date] )
3. Valores de "Rellenar" en el paso 2:
fill down =
VAR LastNonBlankDate =
CALCULATE (
LASTNONBLANK ( 'Table 2'[Date], 1 ),
FILTER (
ALL ( 'Table 2' ),
'Table 2'[Date] <= EARLIER ( 'Table 2'[Date] )
&& NOT ( ISBLANK ( 'Table 2'[value] ) )
)
)
RETURN
CALCULATE (
SUM ( 'Table 2'[value] ),
FILTER ( ALL ( 'Table 2' ), 'Table 2'[Date] = LastNonBlankDate )
)
Mi visualización tiene el siguiente aspecto:
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
Hola @Coen_Thönissen -
En la configuración de formato de un gráfico de líneas, busque en la sección "Formas" y en la parte inferior debe encontrar "Stepped On/ Off"
Espero que esto ayude
David
Hola David,
Gracias por ayudarme. Su solución, sin embargo, introduce un nuevo problema, ya que el paso no se hace en el último día (day_16 en mi ejemplo, que sería correcto), no en el primer día (day_10 en mi ejemplo, que sería incorrecto), sino visualmente exactamente en el medio (en day_13, lo cual es incorrecto). ¿Puede sugerir una solución en ese sentido?
Saludos amables, Coen
@Coen_Thönissen - para eso mi sugerencia sería asegurarse de que la medida calcula y da el valor anterior si no hay transacciones para ese día. A continuación, con el paso en usted debe obtener la caída / aumento directamente antes del día siguiente con las transacciones.
Si no sabe cómo hacer que el DAX funcione, comparta una copia de su PBIX o datos de muestra, diseño de modelo y código de medida.
David
Hola David,
Gracias de nuevo. Aquí algunos antecedentes más:
Sourcefile y en el modelo PBIX simplemente llamado 'Tabla':
Fecha | cambio |
2020-03-01 | 30 |
2020-03-10 | 50 |
2020-03-16 | -24 |
2020-04-05 | 12 |
2020-04-23 | -60 |
Medida:
Como se mencionó anteriormente, el gráfico de líneas que obtengo aumenta o disminuye diagonalmente desde la fecha anterior a la fecha posterior o - cuando se elige 'intervalo' - aumenta o disminuye escalonadamente exactamente en el medio entre estas fechas. Quiero que el paso se produzca en la fecha posterior (siendo la fecha del cambio posterior).
Creo que el prrblem es que la columna de fecha no es un'eje lineal', sino que está llena de 'huecos'. Pero Power BI debería ser lo suficientemente inteligente como para lidiar con esto, creo. Aunque mi ejemplo es muy simple, este es un problema que ocurre con frecuencia en el mundo real.
Saludos amables, Coen
Hola @Coen_Thönissen -
Lo que está buscando hacer es Time Intelligence, que requiere que una tabla Calendario/Fecha se realice correctamente. Puede crear una tabla de fechas de un par de maneras
DateTab = CALENDARAUTO()
DateTab = CALENDAR("1/1/2020", "12/31/2020")
A continuación, desea establecer una relación de 1 a varios entre DateTab y su tabla, a través de Table[Date]
Reemplazar tabla[Fecha] en la medida con DateTab[Fecha]
Items_in_stock =
CALCULATE (
SUM ( 'Table'[Change] ),
FILTER ( ALL ( 'DateTab' ), DateTab[Date] <= MAX ( DateTab[Date] ) )
)
Por último, utilice DateTab[Date] como eje X. Asegúrese de que el eje esté establecido en Continuo
Espero que esto ayude
David
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |