Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Comparación trimestre por trimestre (sin formato de fecha, solo formato de fecha)

Hola a todos,

Recientemente creé un bi de potencia para ilustrar el rendimiento de la previsión, pero me encontré con una dificultad en comparación trimestre a trimestre. A continuación se presentan dos tablas de ejemplo.

Tabla de ventas

PeríodoVentas M1Ventas de M2Ventas M3
Año Fiscal 20 Q1110120130
Año Fiscal 20 Q2210220230
Año Fiscal 20 Q3310320330

Tabla de previsiones

PeríodoPronóstico M1Pronóstico M2Pronóstico M3Pronóstico M4Pronóstico M5Pronóstico M6
Año Fiscal 20 Q1101201301401501601
Año Fiscal 20 Q2102202302402502602
Año Fiscal 20 Q3103203303403503603

Me gustaría crear dos medidas para comparar el volumen de ventas con el volumen de previsión en el trimestre anterior y el anterior.

Comparación del último trimestre en el año fiscal 20 Q3 = Ventas M1 en el año fiscal 20 Q3 - M1 Previsión en el año fiscal 20 Q2

Segunda comparación del último trimestre en el año fiscal 20 Q3 = Ventas M1 en el año fiscal 20 Q3 - M4 Previsión en el año fiscal 20 Q1

Mi esperado resultado final es el siguiente.

PeríodoM1M2M3
Comparación del último trimestreSegundo último comparsónComparación del último trimestreSegundo último comparsónComparación del último trimestreSegundo último comparsón
Año Fiscal 20 Q2210-101 220-201 230-301
Año Fiscal 20 Q3310-102310-401320-202320-501330-302330-601

Desaprovebí la columna para crear el número de mes (m1,m2 ym3), pero no puedo averiguar cómo crear medidas para la comparación. ¡Por favor, ayuda! ¡Gracias!

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@dt1119 , Crear una tabla independiente para Período

Período = distinct(union(distinct(sales[Period]), distinct(target[Period])))

Agregue una nueva columna a esa tabla

Rango de período = RANKX(all('Period'), 'Período '[Período],,ASC,Dense)

utilizar esto para medidas como eample. Crear nuevos según necesidad
Este período = CALCULATE(sum('Sales'[M1 Sales]), FILTER(ALL('Period '),'Period '[Period Rank]=max('Period '[Period Rank])))
Último período = CALCULATE(sum('Target'[M1 Forecast]), FILTER(ALL('Period '),'Period '[Period Rank]=max('Period '[Qtr Rank])-1))

Power BI — Mes a mes con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
https://www.youtube.com/watch?v=6LUBbvcxtKA

View solution in original post

Hola, @dt1119

Puede intentar seguir los siguientes pasos:

1.unpivot su"Tabla de ventas" y "Tabla de previsiones" :

106.png107.png

2. Agregue una "Tabla de período" y una "tabla de meses" como se muestra a continuación:

104.png105.png

3.cree columnas calculadas como se indica a continuación:

1)Comparación del último trimestre

Last Quarter = LOOKUPVALUE('Period Table'[Last Quarter],'Period Table'[Period],'Sales Table'[Period])
Last Quarter Forecast Sales = LOOKUPVALUE('Forecast Table'[Sales],'Forecast Table'[Period],'Sales Table'[Last Quarter],'Forecast Table'[month number],'Sales Table'[month number])
Last Quarter Comparison = 
VAR comp = 'Sales Table'[Sales] & "-" & 'Sales Table'[Last Quarter Forecast Sales]
//var comp = 'Sales Table'[Sales]-'Sales Table'[Last Quarter Forecast Sales]
RETURN
    IF ( ISBLANK ( 'Sales Table'[Last Quarter Forecast Sales] ), BLANK (), comp )

2)Comparación del segundo trimestre

Second Last Quarter month = LOOKUPVALUE('Month Table'[last quarter Month number],'Month Table'[Month number],'Sales Table'[month number])
Second Last Quarter Forecast Sales = LOOKUPVALUE('Forecast Table'[Sales],'Forecast Table'[Period],'Sales Table'[Second Last Quarter],'Forecast Table'[month number],'Sales Table'[Second Last Quarter month])
Second Last Quarter Comparison = 
VAR comp = 'Sales Table'[Sales] & "-" & 'Sales Table'[Second Last Quarter Forecast Sales]
//var comp ='Sales Table'[Sales] -'Sales Table'[Second Last Quarter Forecast Sales]
RETURN
    IF ( ISBLANK ( 'Sales Table'[Second Last Quarter Forecast Sales] ), BLANK (), comp )

El resultado se mostrará a continuación:

108.png

Por favor, compruebe mi archivo pbix de ejemplo para obtener más detalles.

Saludos
Equipo de apoyo a la comunidad _ Eason
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Allí @v-easonf-msft ,

¡Muchas gracias!

Hola, @dt1119

Dax "último trimestre" se utiliza para la "tabla de período". Si hay un error en esta columna calculada, comparta una captura de pantalla de la "tabla de puntos" que agregó.

Saludos
Equipo de apoyo a la comunidad _ Eason

Allí @v-easonf-msft ,

Trató de crear columnas calculadas de acuerdo con las soluciones proporcionadas. Calcula con éxito el último trimestre. Sin embargo, me encontré con dificultades para buscar el valor de previsión. Se muestra un valor en blanco en la columna. Consulte la siguiente imagen.

dt1119_0-1615256202470.png

También subí un archivo para su comprobación. Agradecido si puede echar un vistazo y aconsejar cualquier solución. Muchas gracias.

https://1drv.ms/u/s!Asj8flgDn0itlC3h8Lz5CUfNX4HF?e=NHAuCl

Syndicate_Admin
Administrator
Administrator

@dt1119 , Crear una tabla independiente para Período

Período = distinct(union(distinct(sales[Period]), distinct(target[Period])))

Agregue una nueva columna a esa tabla

Rango de período = RANKX(all('Period'), 'Período '[Período],,ASC,Dense)

utilizar esto para medidas como eample. Crear nuevos según necesidad
Este período = CALCULATE(sum('Sales'[M1 Sales]), FILTER(ALL('Period '),'Period '[Period Rank]=max('Period '[Period Rank])))
Último período = CALCULATE(sum('Target'[M1 Forecast]), FILTER(ALL('Period '),'Period '[Period Rank]=max('Period '[Qtr Rank])-1))

Power BI — Mes a mes con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
https://www.youtube.com/watch?v=6LUBbvcxtKA

No @amitchandak,

Traté de crear una tabla llamada punto, que devuelve correctamente valores de período distrincto. Sin embargo, cuando intenté crear una medida calculada para la clasificación, se muestra el siguiente mensaje de alerta.

Rango de período = RANKX(all('Period'),'Period'[Period],,ASC,Dense)

"No se puede determinar un único valor para la columna 'Período' en la tabla 'Período'. Esto puede ocurrir cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado."

Por favor, echa un vistazo. ¡Gracias de nuevo!

@dt1119 , Rango de período es una columna, no una medida.

Lo utilizaremos en medidas de este período, el último período.

No @amitchandak,

Lo siento por la vista. Las medidas funcionan con éxito. Sin embargo, si quiero comparar "M1sales" en el año fiscal 20 Q4 con "pronóstico M4" en el segundo trimestre del año fiscal 20, ¿cómo puedo modificar la fórmula? Creé un ID de mes (1,2,3...,5,6) y los valores de ventas y previsión correspondientes en las tablas. ¡Muchas gracias!

Hola, @dt1119

Puede intentar seguir los siguientes pasos:

1.unpivot su"Tabla de ventas" y "Tabla de previsiones" :

106.png107.png

2. Agregue una "Tabla de período" y una "tabla de meses" como se muestra a continuación:

104.png105.png

3.cree columnas calculadas como se indica a continuación:

1)Comparación del último trimestre

Last Quarter = LOOKUPVALUE('Period Table'[Last Quarter],'Period Table'[Period],'Sales Table'[Period])
Last Quarter Forecast Sales = LOOKUPVALUE('Forecast Table'[Sales],'Forecast Table'[Period],'Sales Table'[Last Quarter],'Forecast Table'[month number],'Sales Table'[month number])
Last Quarter Comparison = 
VAR comp = 'Sales Table'[Sales] & "-" & 'Sales Table'[Last Quarter Forecast Sales]
//var comp = 'Sales Table'[Sales]-'Sales Table'[Last Quarter Forecast Sales]
RETURN
    IF ( ISBLANK ( 'Sales Table'[Last Quarter Forecast Sales] ), BLANK (), comp )

2)Comparación del segundo trimestre

Second Last Quarter month = LOOKUPVALUE('Month Table'[last quarter Month number],'Month Table'[Month number],'Sales Table'[month number])
Second Last Quarter Forecast Sales = LOOKUPVALUE('Forecast Table'[Sales],'Forecast Table'[Period],'Sales Table'[Second Last Quarter],'Forecast Table'[month number],'Sales Table'[Second Last Quarter month])
Second Last Quarter Comparison = 
VAR comp = 'Sales Table'[Sales] & "-" & 'Sales Table'[Second Last Quarter Forecast Sales]
//var comp ='Sales Table'[Sales] -'Sales Table'[Second Last Quarter Forecast Sales]
RETURN
    IF ( ISBLANK ( 'Sales Table'[Second Last Quarter Forecast Sales] ), BLANK (), comp )

El resultado se mostrará a continuación:

108.png

Por favor, compruebe mi archivo pbix de ejemplo para obtener más detalles.

Saludos
Equipo de apoyo a la comunidad _ Eason
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.