CALCULATE, función

Completado

La función CALCULATE es una de las funciones más versátiles de Power BI. En el ejemplo siguiente se muestra la sintaxis de la función CALCULATE:

CALCULATE( <expression>, <filter1>, <filter2>, ... )

Es necesario evaluar la expresión del primer parámetro para devolver el resultado (un valor), que suele ser una función de agregación como SUM, AVG, MIN, etc. Después, esta expresión se evalúa en un contexto basado en los filtros. Estos filtros pueden expandir y limitar el contexto de evaluación actual.

Con la función CALCULATE, obtiene el control del contexto de fila y filtro. Puede agregar, quitar y actualizar filtros. CALCULATE es la función principal de muchos cálculos en DAX.

Incorporación de un filtro con CALCULATE

El siguiente fragmento de código muestra un ejemplo de cómo evaluar las ventas totales y agregar un contexto de filtro de avión.

Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )

Sugerencia

En este fragmento de código se muestra cómo se realizaría el mismo cálculo en Tableau:

Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END

Actualización de un filtro con CALCULATE

En el siguiente fragmento de código se muestra un ejemplo de cómo obtener las ventas de 2018, incluso cuando está seleccionado 2019 en una segmentación de año.

2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )

Sugerencia

No parece haber disponible una comparación directa en Tableau. Para completar esta función en Tableau, tendría que duplicar campos, traer orígenes de datos adicionales o realizar cálculos en cada columna.

Omisión de un filtro con CALCULATE

En el siguiente fragmento de código se muestra un ejemplo de cómo buscar las ventas totales en los estados que incluyen Alexandria como ciudad ("Alexandria" es un valor que se selecciona en una segmentación de ciudad).

Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )

Sugerencia

Haría el mismo cálculo en Tableau mediante la expresión EXCLUDE LOD. Observe que esta expresión LOD difiere de la otra en su granularidad. Con esta expresión, le interesará excluir de la vista el estado, en lugar del estado y la ciudad:

Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }