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.
Hola a todos
Tengo 2 tablas A y B. El modo de almacenamiento para A es 'Importar' mientras que para B es 'DirectQuery'. Necesito calcular X (Sumar producto de valor y volumen) / (Suma de volumen) para cada categoría. La siguiente es la estructura para las 2 tablas:
Tabla A: (Modo de almacenamiento: Importación)
Categoría | Id | Valor | Volumen |
A | 1 | 0.1 | 11 |
A | 2 | 0.7 | 5 |
B | 3 | 0.8 | 7 |
B | 4 | 0.7 | 9 |
B | 5 | 0.2 | 6 |
Para esta tabla A:
X a 0,287 para la Categoría A ((0,1*11)+(0,7*5))/(11+5)
X a 0,595 para la Categoría B ((0,8*7)+(0,7+9)+(0,2*6))/(7+9+6)
Tabla B: (Modo de almacenamiento: Consulta directa)
Id | Valor |
1 | 0.9 |
4 | 0.4 |
Sin embargo, el resultado que quiero es utilizar todos los valores de la tabla A si el valor de ese identificador no está presente en la tabla B. De lo contrario, utilice los valores de la tabla B. Por lo tanto, en este caso, 'Valor' para el id 1 y 4 en la tabla A debe tomarse de la Tabla B.
De esta manera el resultado sería:
X a 0,837 para la Categoría A ((0,10,9*11)+(0,7*5))/(11+5)
X a 0,472 para la Categoría B ((0,8*7)+(0,70,4*9)+(0,2*6))/(7+9+6)
¡Gracias por tu tiempo!
Solved! Go to Solution.
Prueba esta solución.
1. Cree una columna calculada en TableA:
Value to Use =
VAR vTableBValue =
LOOKUPVALUE ( TableB[Value], TableB[Id], TableA[Id] )
VAR vResult =
IF ( ISBLANK ( vTableBValue ), TableA[Value], vTableBValue )
RETURN
vResult
2. Crear medida:
Sum Product =
VAR vNumerator =
SUMX ( TableA, TableA[Value to Use] * TableA[Volume] )
VAR vDenominator =
SUM ( TableA[Volume] )
VAR vResult =
DIVIDE ( vNumerator, vDenominator )
RETURN
vResult
Proud to be a Super User!
Hola @akul ,
laexpresión DAX de @DataInsights funciona bien. Si no tiene otras preguntas, por favor acepte su respuesta como una solución para que las personas que pueden tener la misma pregunta puedan obtener la solución directamente.
Además, solo puede crear una medida de esta manera:
Measure =
VAR t =
ADDCOLUMNS (
TableA,
"Value_to_use",
VAR vTableBValue =
LOOKUPVALUE ( TableB[Value], TableB[Id], TableA[Id] )
VAR vResult =
IF ( ISBLANK ( vTableBValue ), TableA[Value], vTableBValue )
RETURN
vResult
)
RETURN
VAR vNumerator =
SUMX ( T, [Value_to_use] * [Volume] )
VAR vDenominator =
SUMX ( t, [Volume] )
VAR vResult =
DIVIDE ( vNumerator, vDenominator )
RETURN
vResult
Saludos
Icey
Si este post Ayuda, entonces por favor considere Acédárlo como solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @akul ,
laexpresión DAX de @DataInsights funciona bien. Si no tiene otras preguntas, por favor acepte su respuesta como una solución para que las personas que pueden tener la misma pregunta puedan obtener la solución directamente.
Además, solo puede crear una medida de esta manera:
Measure =
VAR t =
ADDCOLUMNS (
TableA,
"Value_to_use",
VAR vTableBValue =
LOOKUPVALUE ( TableB[Value], TableB[Id], TableA[Id] )
VAR vResult =
IF ( ISBLANK ( vTableBValue ), TableA[Value], vTableBValue )
RETURN
vResult
)
RETURN
VAR vNumerator =
SUMX ( T, [Value_to_use] * [Volume] )
VAR vDenominator =
SUMX ( t, [Volume] )
VAR vResult =
DIVIDE ( vNumerator, vDenominator )
RETURN
vResult
Saludos
Icey
Si este post Ayuda, entonces por favor considere Acédárlo como solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Prueba esta solución.
1. Cree una columna calculada en TableA:
Value to Use =
VAR vTableBValue =
LOOKUPVALUE ( TableB[Value], TableB[Id], TableA[Id] )
VAR vResult =
IF ( ISBLANK ( vTableBValue ), TableA[Value], vTableBValue )
RETURN
vResult
2. Crear medida:
Sum Product =
VAR vNumerator =
SUMX ( TableA, TableA[Value to Use] * TableA[Volume] )
VAR vDenominator =
SUM ( TableA[Volume] )
VAR vResult =
DIVIDE ( vNumerator, vDenominator )
RETURN
vResult
Proud to be a Super User!
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 |