Uso de las funciones del iterador de agregación

Completado

Cada función de resumen de columna única tiene su función del iterador equivalente. En las secciones siguientes se consideran dos escenarios de agregación cuando las funciones del iterador son útiles: el resumen complejo y el resumen con un nivel de detalle más alto.

Resumen complejo

En esta sección, creará la primera medida que usa una función del iterador. En primer lugar, descargue y abra el archivo Adventure Works DW 2020 M05.pbix. A continuación, agregue la definición de medida siguiente:

Revenue =
SUMX(
    Sales,
    Sales[Order Quantity] * Sales[Unit Price] * (1 - Sales[Unit Price Discount Pct])
)

Dé formato a la medida Revenue como moneda con dos cifras decimales y, luego, agréguela al objeto visual de tabla que se encuentra en la Página 1 del informe.

Mediante el uso de una función del iterador, la fórmula de la medida Revenue (Ingresos) agrega más que los valores de una columna única. Para cada fila, use los valores del contexto de fila de tres columnas para generar el importe de los ingresos.

Ahora, agregue otra medida:

Discount =
SUMX(
    Sales,
    Sales[Order Quantity]
    * (
        RELATED('Product'[List Price]) - Sales[Unit Price]
    )
)

Dé formato a la medida Discount (Descuento) como moneda con dos cifras decimales y, luego, agréguela al objeto visual de tabla.

Observe que la fórmula usa la función RELATED. Recuerde que el contexto de fila no se extiende más allá de la tabla. Si la fórmula necesita hacer referencia a columnas de otras tablas y existen relaciones de modelo entre las tablas, use la función RELATED para la relación de un lado o la función RELATEDTABLE para la relación de varios lados.

Resumen con un nivel de detalle más alto

El ejemplo siguiente considera un requisito para informar los ingresos promedio. Agregue el método siguiente:

Revenue Avg =
AVERAGEX(
    Sales,
    Sales[Order Quantity] * Sales[Unit Price] * (1 - Sales[Unit Price Discount Pct])
)

Dé formato a la medida Revenue Avg (Ingresos promedio) como moneda con dos cifras decimales y, luego, agréguela al objeto visual de tabla.

Tenga en cuenta que el promedio se refiere a la suma de los valores dividida por el conteo de valores. Sin embargo, esa teoría genera una pregunta: ¿Qué representa el conteo de valores? En este caso, el conteo de valores es la cantidad de expresiones que no se evaluaron en BLANK. Además, como la función del iterador enumera las filas de la tabla Sales, el promedio podría significar ingresos por fila. Llevando esa lógica un paso más allá, porque cada fila de la tabla Sales registra una línea de pedido de venta, se puede describir de manera más precisa como ingresos por línea de pedido.

Por lo tanto, debe cambiar el nombre de la medida Revenue Avg (Ingresos promedio) a Revenue Avg Order Line (Línea de pedido de ingresos promedio), para que se informe de manera clara a los usuarios lo que se usa como base promedio.

En el ejemplo siguiente se usa una función del iterador para crear una medida nueva que eleva la granularidad al nivel de pedido de ventas (un pedido de ventas consta de una o más líneas de pedido). Agregue el método siguiente:

Revenue Avg Order =
AVERAGEX(
    VALUES('Sales Order'[Sales Order]),
    [Revenue]
)

Dé formato a la medida Revenue Avg Order (Pedido de ingresos promedio) como moneda con dos cifras decimales y, luego, agréguela al objeto visual de tabla.

Como se esperaba, los ingresos promedio de un pedido siempre son superiores a los ingresos promedio de una sola de pedido.

Observe que la fórmula usa la función VALUES de DAX. Esta función permite que las fórmulas determinen qué valores se encuentran en el contexto de filtro. En este caso, esta función AVERAGEX recorre en iteración cada pedido de ventas en el contexto de filtro. En otras palabras, recorre en iteración cada pedido de venta del mes. El contexto de filtro y la función VALUES se introducen en el módulo de contexto de filtro.