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.
Estimados todos
He estado luchando durante varias horas para crear un gráfico de cascada con las especificaciones que necesito.
Tengo un informe con solo una segmentación de datos (selección por mes) y un gráfico de cascada. El gráfico de cascada muestra los cambios en las ventas netas por producto con respecto al año anterior. El usuario del panel está interesado en analizar meses individuales (por ejemplo, enero de 2022), así como el total acumulado (año hasta la fecha).
A medida que el usuario selecciona un solo mes (por ejemplo, enero de 2022), quiere ver cómo han cambiado las ventas netas mensuales por productos al mes del año anterior (enero de 2021) en el gráfico de cascada. Entiendo que la cortadora de fecha pasa su selección, enero de 2022, al eje x del gráfico de cascada y, por lo tanto, necesito una tabla de fechas separada y desconectada para eludir este efecto.
Creé la tabla de fechas desconectadas, así como una medida para obtener el resultado que quiero. La medida funciona para la comparación mensual (enero de 2022 versus enero de 2021). Sin embargo, si quiero analizar el total acumulado seleccionando dos o más meses en la cortadora de fechas (por ejemplo, enero de 2022 y febrero de 2022), la medida ya no funciona y el gráfico de cascada no me muestra nada.
Me gustaría lograr que la medida siga funcionando seleccionando varios meses y no solo un mes. ¿Puedes ayudarme con esto?
Este es mi modelo de datos
Esta es mi medida que muestra la comparación del mes en el gráfico de cascadas (por ejemplo, febrero de 2022 vs. febrero de 2021):
Y este es el resultado que quiero con esta medida con solo seleccionar un mes:
Sin embargo, si selecciono varios meses para un total acumulativo (del año hasta la fecha), la medida ya no funciona:
Gracias por su apoyo.
Saludos
Oliver
Solved! Go to Solution.
Eureka – ¡Lo he encontrado!
Pongo el foco en el código en el número de mes (es decir, 1 = enero, 2 = febrero, etc.) de la tabla de fechas. Con esto ambos años se seleccionan ya que los meses siempre tienen el mismo número de mes.
Este es el código:
Waterfall Net Sales =
var Month_Nr = VALUES(DateTable[Month_Number])
return
CALCULATE(
sum(Facttable[Net Sales]),
FILTER(ALL(DateTable),
DateTable[Month_Number] IN Month_Nr),
USERELATIONSHIP(DateTable[Date],sepDataTable[Date])
)
Como el conjunto de datos solo tiene dos años (dos años continuos), este código funciona. Si alguien por ahí tiene un conjunto de datos con más de 2 años, considere la selección de año en el código. De lo contrario, el código devolverá los números de mes de todos los años.
¡Gracias a todos por vuestra ayuda!
¿Alguien puede explicarme cómo se formatea la tabla separada y por qué permite esta funcionalidad ahora? Estoy intentando lograr lo mismo en uno de mis informes de Power BI.
La razón por la que su medida no funciona cuando seleccionó varios meses es el resultado devuelto de values() con dos valores y "=" del resultado del primer filtro es null. por lo que no hay resultado para calcular.
Entonces, tal vez puedas probar "en" a menos que "=", pero no estoy seguro de que sea correcto. O puedes probar DATEADD().
O este siguiente código:
Net sales waterfall =
CALCULATE (
SUM ( Facttable[Net Sales] ),
ALLSELECTED ( DateTable[Year] ),
DATEADD ( DateTable[Date], -1, YEAR ),
USERELATIONSHIP ( DateTable[Date], sepDateTable[Date] )
)
Si esto no funciona, comparta su archivo pbix sin datos confidenciales, si necesita más ayuda.
Saludos
Equipo de apoyo a la comunidad _ chenwu zhu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Eureka – ¡Lo he encontrado!
Pongo el foco en el código en el número de mes (es decir, 1 = enero, 2 = febrero, etc.) de la tabla de fechas. Con esto ambos años se seleccionan ya que los meses siempre tienen el mismo número de mes.
Este es el código:
Waterfall Net Sales =
var Month_Nr = VALUES(DateTable[Month_Number])
return
CALCULATE(
sum(Facttable[Net Sales]),
FILTER(ALL(DateTable),
DateTable[Month_Number] IN Month_Nr),
USERELATIONSHIP(DateTable[Date],sepDataTable[Date])
)
Como el conjunto de datos solo tiene dos años (dos años continuos), este código funciona. Si alguien por ahí tiene un conjunto de datos con más de 2 años, considere la selección de año en el código. De lo contrario, el código devolverá los números de mes de todos los años.
¡Gracias a todos por vuestra ayuda!
Hola
Gracias por su respuesta, que es muy apreciada.
Probé tu código. Sin embargo, el gráfico de cascada solo muestra el año actual, que es el año seleccionado de la cortadora.
Como el eje x está directamente vinculado a la segmentación de datos, de alguna manera necesito omitir el año seleccionado.
Subiré el archivo pbix más tarde.
Saludos
Oliver
Por lo que puedo verte
- use VALORES dentro de CALCULATE - que no tendrá ningún efecto.
- utilice REMOVEFILTERS después de especificar un filtro en el mismo campo. Eso anulará de nuevo la intención.
Es posible que desee pensar en usar TREATAS en lugar de meterse con las relaciones.
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 | |
2 | |
2 | |
2 | |
1 |