Forum Discussion
Comprender CALCULATE
Hola
Necesita ayuda para tener una mejor comprensión en CALCULATE.
Por ejemplo, este código:
Open critical work orders = CALCULATE(
DISTINCTCOUNTNOBLANK('Work orders'[Work order number]),
FILTER('Work orders',
AND('Work orders'[Critical] = "Yes",
NOT('Work orders'[Status] IN {"Closed", "Invoiced", "Canceled"})
)
)
)
Realmente todavía no entiendo por qué necesitamos usar FILTER de nuevo en el segundo paramater de la función CALCULATE?
Pensé que el 2o parámetro ya es un filtro, y el cálculo también en la misma tabla.
Gracias
Con CALCULATE, podemos evaluar una expresión en un contexto de filtro definido o modificado. Con FILTER utilizado en CALCULATE, se pueden aplicar condiciones de filtro complejas, incluidas las que no se pueden definir mediante una expresión de filtro booleana. Para el ejemplo que proporcionó, si el filtro se definió sin usar la función Filter, una expresión True/False contiene varias columnas no se puede usar como expresión de filtro de tabla. En esta situación, podemos usar Filter para hacer frente a él.
Para una mayor comprensión de estas dos funciones, puede consultar Uso de las funciones Calcular y valores de DAX y Uso de la función FILTER en DAX.
Saludos
Caiyun Zheng
¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
2 Replies
- amitchandak
Super User
@admin_xlsior , Puede utilizar la función de filtro o puede dar directamente.
Pero el filtro permitirá un filtro más complejo como, permite que la medida filtre
Fecha: Max(Table[Fecha]) // esto no funcionará sin filtro
- v-cazheng-msft
Community Support
Con CALCULATE, podemos evaluar una expresión en un contexto de filtro definido o modificado. Con FILTER utilizado en CALCULATE, se pueden aplicar condiciones de filtro complejas, incluidas las que no se pueden definir mediante una expresión de filtro booleana. Para el ejemplo que proporcionó, si el filtro se definió sin usar la función Filter, una expresión True/False contiene varias columnas no se puede usar como expresión de filtro de tabla. En esta situación, podemos usar Filter para hacer frente a él.
Para una mayor comprensión de estas dos funciones, puede consultar Uso de las funciones Calcular y valores de DAX y Uso de la función FILTER en DAX.
Saludos
Caiyun Zheng
¿Esa es la respuesta que estás buscando? Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.