Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
anotherPassword
Frequent Visitor

Dax WHERE cláusula equivalente a varias tablas

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]

)

pbiRelationships.jpgRelaciones

6 REPLIES 6
anotherPassword
Frequent Visitor

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

hostHardware á sumx(FILTER(configHost,
Y (
FILTER(partsSuperCategory, partsSuperCategory[superCategory] - "BASELINE"),
FILTER(partsInterval, partsInterval[Interval] - "FIXED")
)), configHost[Qty] * 5
)

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



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

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



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Gracias Tom, después de sustituir mis nombres de mesa, funciona!

Medida 2 ?
SUMX(
CALCULATETABLE(
configHost
, partsSuperCategory[superCategory] á "BASESYSTEM"
, partsInterval[Interval] á "FIXED"
)
, configHost[Qty] * RELATED(partsCost[Cost])
)
Greg_Deckler
Super User
Super User

Creo:

hostHardware á sumx(FILTER(configHost,

Y (

FILTER(partsSuperCategory, partsSuperCategory[superCategory] - "BASELINE"),

FILTER(partsInterval, partsInterval[Interval] - "FIXED")

)

) * configHost[Qty]

)


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.