🟢 Introducción
Cuando trabajas con modelos de datos en Power BI, es muy común que necesites “traer” información desde una tabla relacionada hacia otra. Por ejemplo: desde la tabla Clientes obtener el País, o desde Productos obtener la Categoría.
Para eso existe la función RELATED(), una herramienta esencial en DAX que permite acceder al valor de una columna en una tabla relacionada, respetando el modelo relacional del dataset.
🧠 Qué es / para qué sirve
RELATED() se utiliza para obtener el valor de una columna ubicada en una tabla relacionada (1:*), cuando estás evaluando una fila de la tabla del lado “muchos”.
Sirve para:
- Crear columnas calculadas que dependen de otra tabla.
- Traer atributos descriptivos (categoría, país, área, región).
- Facilitar cálculos que requieren información contextual.
- Simplificar fórmulas que, de otro modo, serían más complejas.
📌 Punto clave:
- RELATED solo funciona cuando existe una relación activa y en la dirección adecuada.
- Funciona desde la tabla del lado muchos (many) hacia la tabla del lado uno (one).
🧩 Sintaxis
RELATED(<columnName>)
<columnName>: es la columna a la que quieres acceder desde la tabla relacionada.
💻 Ejemplos con código
🔹 Ejemplo 1 — Traer la categoría del producto
Tabla actual: Sales
Tabla relacionada: Products (1 → many)
Categoria = RELATED(Products[Category])
Resultado: en cada fila de Sales aparecerá la categoría del producto correspondiente.
🔹 Ejemplo 2 — Obtener país del cliente
PaisCliente = RELATED(Clientes[Pais])
Puedes usarlo para crear segmentaciones por país sin tener que navegar entre tablas.
🔹 Ejemplo 3 — Calcular comisión basada en tipo de cliente
Supón que Clientes[Tipo] puede ser “Platino”, “Oro”, “Bronce”.
Comision =
SWITCH(
RELATED(Clientes[Tipo]),
"Platino", 0.08,
"Oro", 0.05,
"Bronce", 0.03,
0
)
🔹 Ejemplo 4 — RELATED dentro de una medida (combinado con SUMX)
VentasConMargen =
SUMX(
Sales,
Sales[Amount] * RELATED(Products[Margin])
)
🧱 Buenas prácticas
✅ Asegúrate de que la relación entre tablas esté activa.
✅ RELATED solo debe usarse en columnas calculadas o en funciones iterativas (SUMX, FILTER, ADDCOLUMNS…).
✅ Mantén nombres descriptivos para columnas que resultan de RELATED.
✅ Evita usar RELATED en exceso si la tabla destino es muy grande.
✓ Para modelos grandes, considera crear columnas directamente en Power Query.
⚠️ Errores comunes
🚫 No funciona si no existe una relación entre tablas.
🚫 No funciona si la relación es en sentido inverso (muchos → uno incorrecto).
🚫 Da error si intentas usarlo desde la tabla «uno» hacia la tabla «muchos».
🚫 Puede generar duplicidad si se usa en tablas sin relaciones únicas.
🚫 Usarlo dentro de una medida normal (sin iterador) provoca error.
🔄 Variantes o alternativas
- RELATEDTABLE() → trae todas las filas relacionadas (lado uno → muchos).
- LOOKUPVALUE() → alternativa flexible cuando no existe relación directa.
- TREATAS() → mapea columnas para relacionarlas virtualmente.
- MERGE en Power Query → recomendable para cálculos permanentes.
📚 Recursos oficiales (verificados)
🧩 Mini práctica
- En tu modelo de Power BI, identifica una tabla de hechos (por ejemplo, Sales).
- Confirma que tiene relación 1:* con una tabla de dimensiones (por ejemplo, Products).
- Ve a Modeling → New Column.
- Escribe:
CategoriaProducto = RELATED(Products[Category])
- Añade esa columna a una visualización de tabla.
- Crea un gráfico de barras con Sales[Amount] por CategoriaProducto.
- Desactiva la relación en el modelo y observa cómo RELATED deja de funcionar → vuelve a activarla.
- Experimenta reemplazando RELATED por LOOKUPVALUE y compara resultados.

Deja un comentario