Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hola a todos,
Tengo un conjunto de datos extraño y un control muy limitado sobre él, es decir, no puedo transformar datos en Power Query (no pregunte).
Los datos básicamente se parecen a la tabla siguiente y necesito poder contar la SUMA de la columna 2 por cualquier identificador en la columna 1 o una combinación de ellos.
La lógica no está establecida en piedra, por lo que los usuarios necesitan un grado de control sobre cómo cortar los datos. Por ejemplo, es posible que algunos necesiten conocer la SUMA de todas las instancias de 1-UEVLP independientemente de otros identificadores, pero otros solo necesitarán ese identificador; enjuague y repita para cada ID de la lista.
Los identificadores pueden venir en cualquier orden y puede haber uno o más en cada registro. Tengo una lista de todos los identificadores posibles en este momento, pero me gustaría que fuera dinámica en caso de que aparecieran otras nuevas en el futuro.
Pensé que era bastante bueno con DAX a estas alturas, pero ni siquiera sé por dónde empezar. Tendré que construir algún tipo de tablas temporales que resuman los valores, supongo?
¿Alguna idea?
| 1-UEVLP,a090001,a092002,a095001,a095003 | 325716 |
| 1-UEVLP,a090001,a092002,a095001,a101001 | 306857 |
| a016001,a090002,a095002,a095003,a101001 | 1171551 |
| 1-UEVLP,a016001,a090001,a090002,a092002,a095001 | 1507506 |
| 1-UEVLP,a016001,a090001,a090002,a095001,a095002 | 1607063 |
| 1-UEVLP,a016001,a090001,a090002,a095001,a095003 | 1575770 |
| 1-UEVLP,a016001,a090001,a090002,a095001,a100002 | 1547156 |
| 1-UEVLP,a016001,a090001,a090002,a095001,a101001 | 1534487 |
| 1-UEVLP,a016001,a090001,a090002,a092002,a095001,a095002 | 1650842 |
Solved! Go to Solution.
Esta solución utiliza el patrón proporcionado por Chris Webb. Envolví el patrón base en GENERATE, para iterar cada fila de la tabla.
1. Cree una columna calculada para reemplazar la coma con la barra vertical (barra vertical). El símbolo de canalización es el delimitador de la función PATHLENGTH.
ID Pipe =
SUBSTITUTE ( Table1[ID Raw], ",", "|" )
2. Crear tabla calculada:
Table2 =
GENERATE (
SUMMARIZE ( Table1, Table1[ID Pipe], Table1[Amount] ),
VAR vID = Table1[ID Pipe]
VAR vIDCount =
PATHLENGTH ( vID )
VAR vNumberTable =
GENERATESERIES ( 1, vIDCount, 1 )
VAR vIDTable =
GENERATE (
vNumberTable,
VAR CurrentKey = [Value] RETURN ROW ( "@ID", PATHITEM ( vID, CurrentKey ) )
)
VAR vResult =
SELECTCOLUMNS ( vIDTable, "ID", [@ID] )
RETURN
vResult
)
Esta solución utiliza el patrón proporcionado por Chris Webb. Envolví el patrón base en GENERATE, para iterar cada fila de la tabla.
1. Cree una columna calculada para reemplazar la coma con la barra vertical (barra vertical). El símbolo de canalización es el delimitador de la función PATHLENGTH.
ID Pipe =
SUBSTITUTE ( Table1[ID Raw], ",", "|" )
2. Crear tabla calculada:
Table2 =
GENERATE (
SUMMARIZE ( Table1, Table1[ID Pipe], Table1[Amount] ),
VAR vID = Table1[ID Pipe]
VAR vIDCount =
PATHLENGTH ( vID )
VAR vNumberTable =
GENERATESERIES ( 1, vIDCount, 1 )
VAR vIDTable =
GENERATE (
vNumberTable,
VAR CurrentKey = [Value] RETURN ROW ( "@ID", PATHITEM ( vID, CurrentKey ) )
)
VAR vResult =
SELECTCOLUMNS ( vIDTable, "ID", [@ID] )
RETURN
vResult
)
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!