FUNCIONES DE TABLA DE POWER BI

Las funciones de tabla de powerbi, principalmente las funciones DAX. Muchas de las funciones más útiles devuelven tablas. Estas funciones de tabla son fundamentales tanto en medidas, donde suelen usarse de forma virtual, dentro de "CALCULATE, iteradores o variables, como en columnas calculadas y tablas calculadas.
Dominarlas permite filtrar, agrupar, combinar y transformar datos de forma dinámica y eficiente.

¿Qué son las funciones de tabla?

Son funciones DAX que retornan un objeto de tipo tabla, una o varias columnas y filas. Se usan para crear
  • Subconjuntos de datos
  • Generar tablas intermedias (virtuales o físicas)
  • Alimentar iteradores (SUMX, AVERAGEX, etc.)
  • Modificar el contexto de filtro
  • Construir tablas calculadas completas

Principales funciones de tabla y sus usos

Funciones de filtrado y contexto

Estas son las más usadas en medidas:

FILTER

Devuelve una tabla filtrada según una condición. Crea contexto de fila.

FILTER(Ventas, Ventas[Importe] > 1000)

CALCULATETABLE

Equivalente a "CALCULATE", pero devuelve una tabla en lugar de un valor escalar. Ideal para modificar el contexto de filtro y obtener un subconjunto de filas.

CALCULATETABLE(Ventas, Clientes[País] = "España")

ALL / ALLEXCEPT / ALLSELECTED / REMOVEFILTERS

Eliminan o modifican filtros existentes y devuelven tablas. Muy usadas dentro de CALCULATE para totales, porcentajes y rankings.

VALUES y DISTINCT

Devuelven los valores únicos de una columna (o filas únicas de una tabla)

VALUES(Productos[Categoría])

Funciones de manipulación y construcción de tablas

Excelentes tanto para medidas avanzadas como para tablas calculadas y columnas:

ADDCOLUMNS

Agrega columnas calculadas a una tabla existente.

ADDCOLUMNS(
VALUES(Productos[Producto]),
"Ventas Totales", [Total Ventas]
)

SELECTCOLUMNS

Selecciona y renombra columnas específicas, más eficiente que "ADDCOLUMNS" cuando solo necesitas algunas.

SUMMARIZE y SUMMARIZECOLUMNS

Agrupan datos y permiten agregar medidas.

ADDCOLUMNS(
SUMMARIZECOLUMNS(
Productos[Categoría],
"Total", [Total Ventas]
)

TOPN

Devuelve las "N" filas superiores según un criterio.Ideal para rankings dinámicos en medidas.

RELATEDTABLE

Devuelve todas las filas relacionadas de una tabla (útil en columnas calculadas).

Operaciones de conjuntos

  • "UNION": Une dos tablas, apila filas.
  • "INTERSECT": Filas comunes.
  • "EXCEPT": Filas de la primera tabla que no están en la segunda.
  • "CROSSJOIN": Producto cartesiano.
  • "GENERATE": Similar a "CROSSJOIN" pero con contexto de fila.

Otras muy útiles

  • "DATATABLE": Crea tablas estáticas en línea
  • "ROW": Crea una tabla de una sola fila
  • "GENERATESERIES": Genera series numéricas o de fecha

Ejemplo práctico completo

Top 5 Productos por Ventas = 
VAR TablaTop = 
TOPN(
5,
ADDCOLUMNS(
  VALUES(Productos[Producto]),
  "@Ventas", [Total Ventas]
),
[@Ventas], DESC
)
RETURN
CONCATENATEX(TablaTop, Productos[Producto], ", ")