Bernd
Tengo la siguiente tabla de hechos:
FactTbl | ||
IDENTIFICACIÓN | Categoría | Valor |
1 | gato1 | 3 |
2 | gato1 | 5 |
2 | gato2 | 2 |
3 | gato1 | 7 |
3 | gato3 | 1 |
y una medida ResultMeasure := SUM(FactTbl[Value]).
Necesito encontrar una forma de calcular ResultMeasure sobre todas las combinaciones por pares de las categorías filtradas:
ResultTbl | ||
Categoría 1 | Categoría2 | Resultado |
gato1 | gato1 | 15 |
gato1 | gato2 | 17 |
gato1 | gato3 | dieciséis |
gato2 | gato1 | 17 |
gato2 | gato2 | 2 |
gato2 | gato3 | 3 |
gato3 | gato1 | dieciséis |
gato3 | gato2 | 3 |
gato3 | gato3 | 1 |
La salida debe visualizarse en una matriz. Preferiblemente, ResultTbl no debería ser una tabla estática (solo si no hay otra manera), pero donde todavía puedo filtrar en FactTbl[ID] con el respectivo recálculo de ResultTbl[Result].
Zubair_Muhammad
Hola @Bernd
Prueba esta TABLA CALCULADA
Desde Modelado TAB>>NUEVA TABLA
Table = VAR Table1 = SELECTCOLUMNS ( VALUES ( FactTbl[Category] ), "Category2", [Category] ) VAR Table2 = SELECTCOLUMNS ( VALUES ( FactTbl[Category] ), "Category1", [Category] ) RETURN ADDCOLUMNS ( CROSSJOIN ( Table1, Table2 ), "Result", VAR y = [Category1] VAR z = [Category2] RETURN CALCULATE ( SUM ( FactTbl[Value] ), FactTbl[Category] IN { y, z } ) )
Zubair_Muhammad
Hola @Bernd
Prueba esta TABLA CALCULADA
Desde Modelado TAB>>NUEVA TABLA
Table = VAR Table1 = SELECTCOLUMNS ( VALUES ( FactTbl[Category] ), "Category2", [Category] ) VAR Table2 = SELECTCOLUMNS ( VALUES ( FactTbl[Category] ), "Category1", [Category] ) RETURN ADDCOLUMNS ( CROSSJOIN ( Table1, Table2 ), "Result", VAR y = [Category1] VAR z = [Category2] RETURN CALCULATE ( SUM ( FactTbl[Value] ), FactTbl[Category] IN { y, z } ) )
Bernd
En respuesta a Zubair_Muhammad
Gracias. @Zubair_Muhammad, esto funciona muy bien para una tabla estática.
Ya que tengo algunas tablas de atenuación que implementan filtros en FactTable[Id]. ¿Hay alguna manera de hacer que el cálculo sea dinámico? Hasta ahora solo logré agregar esos filtros estáticamente a la última cláusula CALCULATE.
Zubair_Muhammad
En respuesta a Zubair_Muhammad
@Bernd