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.
@Greg_Deckler @Pragati11 @parry2k @Ashish_Mathur @amitchandak
Noté un comportamiento extraño entre SUMX y CONCATENATEX. A continuación se muestra un pequeño cuadro de muestra y dos medidas. Estas dos medidas son exactamente las mismas excepto que una utiliza SUMX y otra utiliza CONCATENATEX. Estoy tratando de entender lo que está causando la diferencia de comportamiento en términos de las filas en las que estas funciones proporcionan resultados en una matriz visual.
Las medidas se dan a continuación...
Test SumX =
VAR Components =
VALUES ( Products[Component] )
VAR CostTest =
SUMX (
Components,
VAR CurrentComponent = [Component]
VAR HeaderPart =
LOOKUPVALUE ( Products[Header], Products[Component], CurrentComponent )
VAR CostOfHeader =
SUMX (
FILTER ( ALLSELECTED ( Products ), Products[Component] = HeaderPart ),
Products[Cost]
)
RETURN
CostOfHeader
)
RETURN
CostTest
Test ConcatenateX =
VAR Components =
VALUES ( Products[Component] )
VAR CostTest =
CONCATENATEX (
Components,
VAR CurrentComponent = [Component]
VAR HeaderPart =
LOOKUPVALUE ( Products[Header], Products[Component], CurrentComponent )
VAR CostOfHeader =
SUMX (
FILTER ( ALLSELECTED ( Products ), Products[Component] = HeaderPart ),
Products[Cost]
)
RETURN
CostOfHeader
)
RETURN
CostTest
Idealmente, ya sea que lo concatene o lo agregue, el resultado debe aparecer en la misma fila i, ¿verdad? ¿Qué está causando la diferencia?
Solved! Go to Solution.
No @sreenathv,
La principal diferencia es la propiedad de dos funciones. SUMX es un iterador de la propiedad de agregación digital, por lo que la función SUMX en la capa más externa se agregará de nuevo, mientras que la función CONCATENATEX no se agregará de nuevo.
Saludos
Liang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
No @sreenathv,
La principal diferencia es la propiedad de dos funciones. SUMX es un iterador de la propiedad de agregación digital, por lo que la función SUMX en la capa más externa se agregará de nuevo, mientras que la función CONCATENATEX no se agregará de nuevo.
Saludos
Liang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
las funciones del iterador fallan en diferentes filas. Concatenatex() falla en las filas E y F porque se produce un error en la búsqueda del encabezado. etcetera.
Las medidas se calculan para TODOS los elementos del objeto visual.
Eso es obvio. Pero esa no es mi pregunta. La pregunta es ¿por qué SUMX y CONCATENATEX no producen el resultado en la misma fila, teniendo en cuenta que el contexto de evaluación y todas las demás líneas de código son iguales?
Por ejemplo, si dos filas tienen valores 1 y 2 respectivamente, SUMX debe producir 3 y CONCATENATEX debe producir 12 en iteración en estas dos filas, si el contexto de evaluación y todos los demás escenarios posibles son los mismos. Entonces, ¿por qué el resultado aparece de manera diferente en diferentes filas? ¿Qué causa la diferencia?
Tenga en cuenta que no estoy tratando de lograr nada aquí. Este no es un escenario de la vida real que no pueda manejar en DAX. Las medidas que he publicado son casos hipotéticos escritos específicamente para ilustrar esta diferencia y el objetivo es sólo entender por qué hay una diferencia entre las evaluaciones de SUMX y CONCATENATEX en el mismo contexto exacto cuando el lenguaje DAX admite formalmente la sobrecarga del operador y los operadores no están fuertemente tipados. Es decir, en DAX, podemos usar un operador '+' en cadenas y usar de forma similar un operador '&' y dax lo manejará bien.
Por ejemplo,
"3" + "9" = 12, cuando el operador plus se utiliza en dos cadenas "3" y "9" para producir un número 12.
3 y 9 = "39", cuando el operador ampersand se utiliza en dos números 3 y 9 para producir una cadena 39.
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 |