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, las tablas se unen en partNumber.
Estoy tratando de averiguar cómo conseguir
hostHardware (confighHost[Qty] * partsCost[Cost]) WHERE partsInterval[Interval] á "FIXED" && partsSuperCategory[superCategory] - "BASELINE"
Sé que puedo usar una columna calculada o una consulta para obtener esto, y he creado una tabla combinada grande para hacerlo, pero estoy tratando de aprender DAX y poner mi cabeza alrededor de las relaciones de la tabla, etc.
Esto funciona: hostHardware á sumx(confighost, RELATED(partsCost[Cost]) * configHost[Qty]) pero no puedo averiguar cómo obtener un WHERE.
En mi mente, necesito crear una tabla en memoria de la 1a cláusula, luego Y con una tabla de la 2a cláusula, luego tomar los partNumbers resultantes y usando la innerjoin, multiplicarla por qty
También fui por este camino:
hostHardware á sumx(configHost,
FILTER(configHost,
Y (
FILTER(partsSuperCategory, partsSuperCategory[superCategory] - "BASELINE"),
FILTER(partsInterval, partsInterval[Interval] - "FIXED")
)
) * configHost[Qty]
)
Gracias Greg pero obtengo "Demasiados argumentos fueron pasados a la función SUMX. El recuento mínimo de argumentos para la función es 2." que puedo ver es el caso. Si le da un simple segundo argumento, como este
Entiendo:
La expresión hace referencia a varias columnas. Varias columnas no se pueden convertir en un valor escalar.
como nota, esta medida se está creando en la tabla configHost
Hola @anotherPassword ,
No estoy seguro, y tal vez me estoy perdiendo algo, pero supongo que esto debería funcionar. Sólo tiene que utilizar CALCULATETABLE, para aplicar filtro adicional dentro de su iterador SUMX, RELACIONADO seguirá funcionando, aquí hay una muestra:
Measure 2 =
SUMX(
CALCULATETABLE(
'Fact Sale'
, 'Dimension City'[Sales Territory] = "External"
, 'Dimension Customer'[Buying Group] = "Tailspin Toys"
)
, [Quantity] * RELATED('Dimension Stock Item'[Unit Price])
)
Con suerte, esto proporciona lo que está buscando, al menos una nueva idea.
saludos
Tom
Como nota lateral, mientras esperaba un poco de ayuda, comencé a mirar IF vs FILTER, y esto también funciona:
hostHardware ?
sumx(configHost,
IF(
(RELACIONADO(partsSuperCategory[superCategory]) á "BASESYSTEM" && RELATED(partsInterval[Interval]) á "FIXED"),
RELACIONADO(partsCost[Cost]),0
) * configHost[Qty]
)
Hola @anotherPassword ,
Supongo que la solución IF podría no ser tan eficaz como la solución CALCULATETABLE, ya que la condición se comprobará fila por fila (las filas restantes de la tabla utilizada como iterador), mientras que CALCULATETABLE aprovecha la propagación del filtro.
saludos
Tom
Gracias Tom, después de sustituir mis nombres de mesa, funciona!
Creo:
hostHardware á sumx(FILTER(configHost,
Y (
FILTER(partsSuperCategory, partsSuperCategory[superCategory] - "BASELINE"),
FILTER(partsInterval, partsInterval[Interval] - "FIXED")
)
) * configHost[Qty]
)
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |