DAX RELATED vs RELATEDTABLE: diferencias, usos y ejemplos prácticos en Power BI

Partners oficiales

¿Alguna vez has necesitado traer un dato de una tabla a otra en Power BI para completar un cálculo o un informe? Aquí es donde entran en juego dos funciones esenciales de DAX: RELATED y RELATEDTABLE. En Aglaia Consulting, te enseñamos a dominar estas herramientas de forma sencilla, tal y como hicimos con funciones como CALCULATE o SWITCH. Entender la diferencia entre ellas no solo te evitará errores, sino que te abrirá la puerta a análisis mucho más sofisticados y útiles para tu empresa.

¿Qué son las funciones RELATED y RELATEDTABLE en DAX?

Tanto RELATED como RELATEDTABLE son funciones que se utilizan en Power BI para navegar entre tablas que están conectadas mediante una relación en tu modelo de datos.

  • RELATED: Se utiliza cuando quieres traer un único valor (un dato específico) de la tabla «opuesta» en la relación.
  • RELATEDTABLE: Se utiliza cuando quieres traer una tabla completa (varias filas de datos) de la tabla «opuesta» en la relación.

Ambas son funciones de paso de contexto, es decir, permiten que una fórmula ejecute un cálculo basándose en la información que existe en otra tabla. Si no entiendes bien el contexto de las jerarquías y relaciones, es fácil confundirlas, pero su uso y el resultado que obtienes son completamente diferentes.

Función DAX RELATED: qué hace y cómo se usa

La función RELATED es la más sencilla de entender y aplicar. Su objetivo es devolver un valor de una columna en una tabla relacionada.

Descripción y sintaxis básica

RELATED funciona exclusivamente con relaciones de muchos a uno (many-to-one), lo que significa que la tabla de la que quieres traer el dato debe estar en el lado «uno» de la relación.

La sintaxis es esta:

  • RELATED(<nombre_columna>)

Donde <nombre_columna> es la columna que contiene el valor específico que deseas obtener.

¿Cómo se usa? RELATED se utiliza típicamente para crear columnas calculadas que enriquecen una tabla de hechos (como Ventas) con datos de una tabla de dimensión (como Clientes).

Ejemplo práctico de uso de RELATED

Supongamos que en tu tabla Ventas solo tienes el ID_Cliente, pero necesitas saber el Nombre_Cliente para el informe. En lugar de fusionar tablas en Power Query, usas RELATED para mantener el modelo limpio:

  1. Modelo de datos. Asegúrate de tener una relación activa entre la tabla Ventas (muchos) y la tabla Clientes (uno).
  2. Nueva columna calculada en la tabla Ventas:
Nombre del Cliente = RELATED(Clientes[Nombre_Cliente]

Al hacer esto, Power BI automáticamente buscará el ID_Cliente en la tabla Ventas, lo usará para encontrar el cliente correspondiente en la tabla Clientes y devolverá el valor de la columna Nombre_Cliente a la fila de Ventas.

Limitaciones y buenas prácticas

  • Relaciones activas: RELATED solo funciona si existe una relación activa de muchos a uno.
  • Un solo valor: Solo devuelve un único valor (escalar). Si intentas usarla en una relación donde podría haber varios valores (many-to-many o one-to-many), te dará error.

Función DAX RELATEDTABLE: qué hace y cómo se usa

La función RELATEDTABLE es mucho más potente porque no devuelve un valor, sino una tabla completa, y se utiliza principalmente para modificar el contexto de un cálculo.

Descripción y sintaxis básica

RELATEDTABLE funciona con relaciones de uno a muchos (one-to-many). La función mira desde el lado «uno» de la relación y devuelve una tabla con todas las filas que coinciden en el lado «muchos».

  • Sintaxis: RELATEDTABLE(<nombre_tabla>)

Donde <nombre_tabla> es la tabla completa que deseas que se filtre y se devuelva.

  • Uso: RELATEDTABLE casi siempre se usa dentro de otras funciones DAX que requieren una tabla como entrada, como CALCULATE, SUMX, COUNTROWS, etc.

Ejemplo práctico de uso de RELATEDTABLE

Imagina que estás en la tabla Clientes y quieres saber cuántas ventas ha realizado cada cliente. Estás en el lado «uno» y quieres contar las filas del lado «muchos» (Ventas).

  1. Modelo de datos: Tienes la relación activa de Clientes (uno) a Ventas (muchos).
  2. Nueva columna calculada en la tabla Clientes:
Numero de Ventas = COUNTROWS(RELATEDTABLE(Ventas))

RELATEDTABLE(Ventas) primero filtra la tabla Ventas para incluir solo las filas que corresponden al cliente de la fila actual. Luego, COUNTROWS cuenta cuántas filas hay en esa tabla filtrada, dándote el total de ventas por cliente.

RELATED vs RELATEDTABLE en DAX: comparación directa

La clave para dominar estas funciones reside en su resultado (lo que devuelven) y el tipo de relación que manejan.

RELATED RELATEDTABLE
Resultado Devuelve un único valor. Devuelve una tabla completa.
Relación De muchos a uno. De uno a muchos.
Uso común Crear columnas calculadas. Crear medidas, o como filtro dentro de CALCULATE.
Contexto de operación Contexto de fila. Contexto de filtro.
Sintaxis RELATED(Tabla_Uno
$$Columna$$)
RELATEDTABLE(Tabla_Muchos)

Cuándo usar una u otra

  • Usa RELATED cuando necesites enriquecer una tabla con un dato que está en una tabla de dimensión, sin crear duplicados. Por ejemplo, traer el precio o el color del producto a cada línea de venta. Es una operación simple de lookup.
  • Usa RELATEDTABLE cuando necesites realizar una agregación o cálculo sobre un conjunto de filas relacionadas. Por ejemplo, calcular el primer pedido de un cliente, el número de productos diferentes que ha comprado o la suma total de sus gastos.

Ejemplos avanzados combinando RELATED y RELATEDTABLE

El verdadero poder de estas funciones se libera cuando las usas dentro del motor de cálculo de DAX.

Uso con CALCULATE y FILTER

RELATEDTABLE es un argumento muy poderoso dentro de CALCULATE, ya que te permite modificar el contexto de filtro para realizar cálculos avanzados. Por ejemplo, puedes hacer esto:

  • Calcular la antigüedad promedio de los productos vendidos por un país específico, utilizando el nombre del país de la tabla de geografía y la fecha de adquisición del producto de la tabla de productos.
Ventas Promedio Antigüedad =
CALCULATE(
AVERAGEX(RELATEDTABLE(Ventas), [Antiguedad del Producto]),
FILTER(
RELATEDTABLE(Clientes),
RELATED(Clientes[Pais])=»España» //Usamos RELATED para obtener el país
)
)

Aquí, RELATEDTABLE(Ventas) nos permite acceder al contexto de ventas de cada producto filtrado, mientras que RELATED se usa dentro del FILTER para acceder a una columna específica (País) y aplicarle una condición. Es una combinación que utiliza lo mejor de ambas.

Escenarios reales en reporting empresarial

  • Análisis de desempeño (RELATEDTABLE): Usar RELATEDTABLE en la tabla de Vendedores para contar el número de clientes que gestiona cada uno, o el valor total de su cartera.
  • Segmentación dinámica (RELATED): Usar RELATED para traer la categoría de riesgo crediticio de la tabla Riesgo a la tabla Facturas, permitiendo segmentar el reporte de cobros.

Errores comunes al usar RELATED y RELATEDTABLE en DAX

Dos de los fallos más comunes que vemos en consultoría son estos dos:

  • Relaciones inactivas o inexistentes. Ambas funciones requieren que las tablas estén vinculadas. Si la relación existe, pero está inactiva (línea discontinua en Power BI), solo RELATED funcionará si la activas temporalmente con USERELATIONSHIP. RELATEDTABLE por defecto asume una relación activa.
  • Error de contexto (usar RELATED para muchos valores): Intentar usar RELATED en el lado «uno» para traer datos del lado «muchos». Esto es imposible, porque el lado «uno» puede estar relacionado con múltiples filas del lado «muchos». Para esto, siempre debes usar una función de agregación (como SUMX o COUNTROWS) con RELATEDTABLE.

Si obtienes errores, revisa siempre el sentido de la flecha en tu modelo de datos y verifica si estás yendo de «muchos a uno» (para un valor único) o de «uno a muchos» (para una tabla de valores).

Dominar RELATED y RELATEDTABLE para un modelado eficaz en Power BI

Dominar RELATED y RELATEDTABLE no es solo aprender sintaxis, es entender cómo interactúan las tablas de tu negocio. Una te permite traer un dato preciso (un nombre, una fecha), y la otra te permite realizar cálculos complejos en un grupo de filas relacionadas.

Si buscas mejorar la productividad y el análisis de datos en tu empresa, en Aglaia Consulting te ayudamos a dominar los modelos de Power BI eficientes y optimizados. Aprende con nuestro curso de Power BI completocurso de Power BI avanzado, adaptado a tu nivel. Además ofrecemos un programa Fabric BI, para que domines el análisis de datos de principio a fin integrando Power BI y Fabric para transformar información en decisiones estratégicas, realizar análisis complejos y crear soluciones de datos seguras, escalables y colaborativas.


¿No conoces Aglaia?  Somos una Consultora Tecnológica especializada en Business Intelligence, Data & Business Applications, Modern Workplace e Inteligencia Artificial. Como partners de Microsoft, somos especialistas en transferirte nuestro know-how en estas herramientas a través Consultoría y Formación. Te apoyamos en cualquier proyecto que puedas tener entre manos o en formarte con nuestros cursos, programas y másters en Power Platform y Microsoft 365 en formato InCompany, InClass y 100% Online. Maximiza tu productividad y sácale partido al potencial de estas herramientas con nosotros.

 

Compartir esta publicación
Recursos

Recursos a tu alcance

Descubre entre nuestra biblioteca de recursos una amplia gama de
medios para potenciar tus conocimientos.

¿Quieres hacer uno de nuestros cursos? ¡Pide información!

Descarga la plantilla de 20 fórmulas de Excel para la empresa

Nueva llamada a la acción
Suscríbete a la
Newsletter

Únete al club de los que mejoran cada día

Cursos relacionados
Últimos artículos