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!
¿Podría alguien explicarme lo que está pasando entre bastidores? Realmente no puedo entender lo que está pasando.
Así que tengo el visual que se muestra a continuación. Sólo me interesan las columnas Antes y Después. La primera captura de pantalla es la correcta y la segunda es la problemática. Verá que en la segunda captura de pantalla los valores de ambas columnas son los mismos.
Ahora a continuación comparto todas las medidas que usé para ambas columnas. También muestro qué línea cambio para pasar de la correcta a la incorrecta (está en la última medida en la parte inferior):
Before Snapshot ID =
CALCULATE(
MIN('Snapshot Info'[Snapshot ID]);
FILTER(
ALL('Snapshot Info');
'Snapshot Info'[Date Time] = MIN('Snapshot Info'[Date Time])
)
)
Before Avg Time Profile =
CALCULATE (
AVERAGE ( 'TIME PROFILE'[Value] );
FILTER(
'TIME PROFILE';
'TIME PROFILE'[Snapshot ID] = [Before Snapshot ID]
);
TREATAS (
VALUES ( 'Snapshot Info'[Start Time] );
'TIME PROFILE'[Start Time Interval]
)
)
After Snapshot ID =
CALCULATE(
MAX('Snapshot Info'[Snapshot ID]);
FILTER(
ALL('Snapshot Info');
'Snapshot Info'[Date Time] = MAX('Snapshot Info'[Date Time])
)
)
After Avg Time Profile =
var __After =
CALCULATE(
MAX('Snapshot Info'[Snapshot ID]);
FILTER(
ALL('Snapshot Info');
'Snapshot Info'[Date Time] = MAX('Snapshot Info'[Date Time])
)
)
return
CALCULATE (
AVERAGE ( 'TIME PROFILE'[Value] );
FILTER(
'TIME PROFILE';
//This works (correct screenshot)
'TIME PROFILE'[Snapshot ID] = __After
//This doesn't (problematic screenshot)
'TIME PROFILE'[Snapshot ID] = [After Snapshot ID]
);
TREATAS (
VALUES ( 'Snapshot Info'[Start Time] );
'TIME PROFILE'[Start Time Interval]
)
)
Entonces, ¿podría alguien explicarme qué está pasando? Gracias
Hola @NikBat2020 ,
En su escenario, hay dos contextos de filtro " FILTER( 'TIME PROFILE'..." y " TREATAS( ...)", y cuando creamos la variable como "var __After ? CALCULATE(...) ", la expresión se ejecuta en los dos contextos de filtro, que es el atributo en el que se evalúa el cálculo. Como resultado. para cada atributo , el PROMEDIO ( 'TIME PROFILE'[Value] ) calcular dentro de los contextos de filtro de primicia completos " FILTER( 'TIME PROFILE'..." y "TREATAS( ...)". Así que devolverá el resultado correcto.
Mientras que para la medida independiente [Después del identificador de instantánea ], los valores se calculan dentro del ámbito en el que se escriben y, a continuación, el resultado de ellos se almacena y se utiliza en el resto de la expresión de [Después del perfil de tiempo medio], que es el contexto del filtro.
Saludos
Amy
Equipo de apoyo a la comunidad _ Amy
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-xicai
Gracias por su respuesta! Desafortunadamente todavía no podía entender lo que está pasando. Usted dijo:
Mientras que para la medida independiente [Después del identificador de instantánea ], los valores se calculan dentro del ámbito en el que se escriben y, a continuación, el resultado de ellos se almacena y se utiliza en el resto de la expresión de [Después del perfil de tiempo medio], que es el contexto del filtro.
Por lo tanto, si entiendo esto correctamente, [Después del ID de instantánea] se ha calculado de antemano y su resultado se está utilizando para filtrar [Después del perfil de tiempo medio]. Pero eso no significa que ya que tengo la cláusula ALL(...), siempre obtendría el resultado correcto y sería capaz de filtrar los valores que necesito?
Hola @NikBat2020 ,
Puede consultar los enlaces:
https://community.powerbi.com/t5/Desktop/var-different-result/td-p/283143 ,
https://community.powerbi.com/t5/Desktop/VAR-different-result-than-without-it/td-p/518723,
https://radacad.com/caution-when-using-variables-in-dax-and-power-bi .
Saludos
Amy
Equipo de apoyo a la comunidad _ Amy
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
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 | |
1 | |
1 | |
1 |