Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hola a todos,
Estoy luchando para crear un gráfico de cascada (también conocido como puente) en PBI.
La estructura de datos que tengo es la siguiente, donde Sum_Delta último período ARR es la diferencia entre los ingresos de este período y el último período. Así, por ejemplo, los clientes que en 2022 tuvieron ingresos de 356k en 2023, es decir, no tuvieron ingresos en 2023, los clientes que tuvieron menos ingresos en 2023 que en 2022 en total tuvieron 1039k menos ingresos.
Quiero mostrar un gráfico en cascada donde los totales anuales se muestran por los valores de EoP (End of Period) y los movimientos muestran la diferencia, por lo que la rotación y la venta a la baja deben ser negativas, mientras que las nuevas y las ventas adicionales deben ser positivas. La suma de todos los movimientos + la EoP del año pasado debería constituir el valor de la EoP de este año
He probado varias cosas, pero nada parece sensato. Lo que para mí sería la opción más intuitiva (capturada en pantalla) por ejemplo muestra Upsell como negativo, parece que calcula la diferencia entre el upsell de este año y el del año pasado, pero esto no es lo que quiero.
¿Alguien sabe cómo puedo construir una cascada basada en mi estructura de datos existente o si debería reestructurar mis datos para construir una más fácilmente?
¡Muchas gracias por su ayuda de antemano!
| Periodo | Categorización | Sum_Delta último período ARR | Sum_ARR valor |
| 2022 | EoP | 35973269.12 | 35973269.12 |
| 2023 | Bop | 35973269.12 | 0 |
| 2023 | Mantequera | -356325.01 | 0 |
| 2023 | Desactivación | -8415 | 0 |
| 2023 | Venta descendente | -1038852.13 | 2663702.42 |
| 2023 | Nuevo | 1127955.45 | 1127955.45 |
| 2023 | Ventas adicionales | 10274680.12 | 42180654.68 |
| 2023 | EoP | 45972312.55 | 0 |
Solved! Go to Solution.
Hola, estoy publicando mi solución aquí en caso de que alguien tenga el mismo problema y se tropiece con esta publicación. La estructura de datos es la que se menciona en la publicación, donde cada fila muestra un cliente y un año con columnas para la cantidad de ingresos [valor Sum_ARR], la cantidad de cambio del año anterior [Delta último período ARR] y el año [Punto].
Esta es la medida que puse debajo del eje Y en el gráfico de cascada:
En el desglose puse Bridge_Movement[Atributo], que es simplemente una lista de las diferentes categorizaciones en el orden en que quiero tenerlas (sin embargo, la clasificación no funciona completamente). Esto no está conectado a la tabla principal en el modelo de datos, ya que al hacerlo se producen algunos errores:
En la matriz de la misma página, que quiero filtrar de forma cruzada para que cuando haga clic en la barra para, por ejemplo, Upsell en 2023, muestre todos los valores de downsell por cliente en ese período, tengo la siguiente medida en valores:
Hola, estoy publicando mi solución aquí en caso de que alguien tenga el mismo problema y se tropiece con esta publicación. La estructura de datos es la que se menciona en la publicación, donde cada fila muestra un cliente y un año con columnas para la cantidad de ingresos [valor Sum_ARR], la cantidad de cambio del año anterior [Delta último período ARR] y el año [Punto].
Esta es la medida que puse debajo del eje Y en el gráfico de cascada:
En el desglose puse Bridge_Movement[Atributo], que es simplemente una lista de las diferentes categorizaciones en el orden en que quiero tenerlas (sin embargo, la clasificación no funciona completamente). Esto no está conectado a la tabla principal en el modelo de datos, ya que al hacerlo se producen algunos errores:
En la matriz de la misma página, que quiero filtrar de forma cruzada para que cuando haga clic en la barra para, por ejemplo, Upsell en 2023, muestre todos los valores de downsell por cliente en ese período, tengo la siguiente medida en valores:
Hola @maflingo,
Gracias @AmiraBedh y @DataNinja777 por su respuesta a la consulta,
Si la respuesta proporcionada por el miembro de la comunidad abordó su consulta, ¿podría confirmarlo? Nos ayuda a garantizar que las soluciones proporcionadas sean efectivas y beneficiosas para todos.
¡Gracias por su comprensión!
Hola @maflingo,
Solo retrocede una vez para verificar si todo está bien de tu parte. Avíseme si necesita algún soporte final, feliz de ayudarlo si algo aún está abierto.
Gracias.
Hola @maflingo,
Solo quería verificar con respecto a su pregunta. No hemos recibido respuesta y queremos asegurarnos de que no esté atascado. Si necesita algo más o tiene actualizaciones para compartir, ¡estamos aquí para ayudarlo!
Háganos saber si necesita ayuda adicional
Gracias.
Hola @maflingo,
Solo quería verificar con respecto a su pregunta. No hemos recibido respuesta y queremos asegurarnos de que no esté atascado. Si necesita algo más o tiene actualizaciones para compartir, ¡estamos aquí para ayudarlo!
Háganos saber si necesita ayuda adicional
Gracias.
¡Hola!
Gracias por publicar en la comunidad de Microsoft Fabric.
Puede crear una tabla desconectada con los pasos en cascada y ordenar el paso por la columna de orden.
Step, Order
BoP, 1
Churn, 2
Deactivation, 3
Downsell, 4
New, 5
Upsell, 6
EoP, 7
y su tabla de hechos debe FactARR con columnas:
periodo
categorización
sum_delta último período ARR
sum_ARR valor
Encontrará la solución en el PBIX adjunto.
Hola @maflingo ,
El problema fundamental con la configuración del gráfico de cascada es que el objeto visual está configurado para mostrar los cambios a lo largo del tiempo colocando el campo Período en el eje principal. Para un gráfico puente de ingresos, en su lugar, desea mostrar la secuencia de movimientos categóricos dentro de un período de tiempo único y específico. El enfoque correcto es usar el campo Categorización como eje principal y, a continuación, filtrar todo el gráfico para un solo período, como el año 2023.
Para asegurarse de que las categorías se muestran en una secuencia lógica en lugar de alfabéticamente, primero debe crear un criterio de ordenación personalizado. Para ello, agregue una nueva columna calculada a la tabla en la vista de datos con una expresión DAX que asigne un número a cada categoría.
Sort Order =
SWITCH(
'YourTable'[Categorization],
"BoP", 1,
"New", 2,
"Upsell", 3,
"Reactivation", 4,
"Downsell", 5,
"Churn", 6,
"Deactivation", 7,
"Other", 8,
"LTM", 9,
"EoP", 10,
11
)
Después de crear esta columna, seleccione la columna Categorización, vaya a la pestaña Herramientas de columna y use la característica Ordenar por columna para ordenarla por la nueva columna Criterio de ordenación. Esto garantiza que su gráfico siempre seguirá el flujo correcto de BoP a EoP.
A continuación, necesita una medida que muestre correctamente los valores tanto de los totales como de los movimientos. Las barras de inicio (BoP) y final (EoP) requieren el total absoluto de su columna de valor Sum_ARR, mientras que todos los movimientos intermedios como Churn y Upsell deben usar el ARR Sum_Delta último período. Una medida DAX puede controlar esta lógica condicional perfectamente.
Waterfall Amount =
VAR CurrentCategory = SELECTEDVALUE('YourTable'[Categorization])
RETURN
SWITCH(
TRUE(),
CurrentCategory IN {"EoP", "BoP"}, SUM('YourTable'[Sum_ARR value]),
SUM('YourTable'[Sum_Delta last Period ARR])
)
Por último, configure el objeto visual en cascada en el lienzo del informe. Coloque la columna Categorización ordenada en el campo Categoría y la nueva medida [Cantidad en cascada] en el campo Eje Y. El último paso crucial es arrastrar la columna Período al panel de filtros del objeto visual y seleccionar un solo año. Esto generará el puente de ingresos preciso que está buscando, mostrando correctamente el total inicial, todos los movimientos positivos y negativos, y el total final final de ese año.
Saludos
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.