Introducción

Completado

Vea el vídeo siguiente para aprender sobre las funciones del iterador.

Las expresiones de análisis de datos (DAX) incluyen una familia de funciones conocidas como las funciones del iterador. Las funciones del iterador enumeran todas las filas de una tabla determinada y evalúan una expresión dada para cada fila. Proporcionan flexibilidad y control sobre cómo los cálculos del modelo resumen los datos.

Ya está familiarizado con las funciones de resumen de columna única, entre las que se incluyen SUM, COUNT, MIN, MAX, etc. Cada una de estas funciones tiene una función del iterador equivalente que se identifica con el sufijo "X", como SUMX, COUNTX, MINX y MAXX, entre otras. Además, existen funciones del iterador especializadas que realizan el filtrado, la clasificación, los cálculos de suma parcial a lo largo del tiempo, etc.

Una característica de todas las funciones del iterador es que debe pasar una tabla y una expresión. La tabla puede ser una referencia de tabla de modelo o una expresión que devuelve un objeto de tabla. La expresión se debe evaluar como un valor escalar.

Las funciones de resumen de columna única, como SUM, son funciones abreviadas. De manera interna, Microsoft Power BI convierte la función SUM en SUMX. Como resultado, las dos definiciones de medida siguientes generarán el mismo resultado con el mismo rendimiento.

Revenue = SUM(Sales[Sales Amount])
Revenue =
SUMX(
    Sales,
    Sales[Sales Amount]
)

Es importante comprender cómo funciona el contexto con las funciones del iterador. Dado que las funciones del iterador enumeran las filas de la tabla, la expresión se evalúa para cada fila en el contexto de fila, de forma similar a las fórmulas de columna calculada. La tabla se evalúa en el contexto de filtro, por lo que si usa el ejemplo de definición de la medida Revenue (Ingresos) anterior, si un objeto visual de informe se filtró por año fiscal FY2020, la tabla Sales debería contener filas de ventas que se ordenaron ese año. El contexto de filtro se describe en el módulo del contexto de filtro.

Importante

Cuando use las funciones del iterador, asegúrese de evitar el uso de tablas (de filas) grandes con expresiones que usen funciones de DAX ampliadas. Algunas funciones, como la función SEARCH de DAX, que examina un valor de texto que busca caracteres o texto específicos, pueden dar lugar a un rendimiento lento. Además, la función LOOKUPVALUE de DAX pueden dar lugar a una recuperación de valores fila por fila lenta. En este segundo caso, use en su lugar la función RELATED de DAX, siempre que sea posible.