Forum Discussion

admin_xlsior's avatar
admin_xlsior
Icon for Post Prodigy rankPost Prodigy
5 years ago
Solved

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

  • No @admin_xlsior,

    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.

    v-cazheng-msft_0-1610500922719.png

    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

  • @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's avatar
    v-cazheng-msft
    Icon for Community Support rankCommunity Support

    No @admin_xlsior,

    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.

    v-cazheng-msft_0-1610500922719.png

    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.