Definición: Función que permite especificar la relación a utilizar en la evaluación de una expresión especifica. Se utiliza en caso de tener más de una relación entre dos tablas, de las cuales solo una puede estar activa.
Es un modificador de CALCULATE.
La relación debe de existir en el modelo de datos.
Permite activar temporalmente una relación inactiva. Una vez evaluada la expresión, se reactiva la relación predeterminada.
Sintaxis:
USERELATIONSHIP ( < columna1 >, < columna2 > )
<columna1>: columna existente a relacionar con llave primaria.
<columna2>: columna existente a relacionar con llave foránea.
Por convención se utiliza el lado de muchos de la relación como primer argumento, y el lado de uno como segundo argumento. Sin embargo, el orden no altera el resultado.
Ejemplo:
Partimos de la relación predeterminada activa en el modelo de datos, Fecha en Calendario y FechaVenta en Ventas. USERELATIONSHIP_00.png69.28 KB
USERELATIONSHIP instruye a CALCULATE que active temporalmente la relación entre FechaEnvio en Ventas y Fecha en Calendario, desactivando la relación predeterminada.
CALCULATE evalúa la expresión para el número de productos vendidos por semana, Productos Vendidos, utilizando la relación pertinente, produciendo así Productos Enviados, el número de productos enviados por semana. Compárese ambos resultados en la tabla. USERELATIONSHIP_02.png50.36 KB