Obtuve esta idea de tutorial a partir de una pregunta que se planteó en el foro de LuckyTemplates. El miembro tiene una tabla de hechos que tiene un montón de fechas diferentes y estaba tratando de crear una relación activa o inactiva entre esa tabla y la tabla de fechas.
Aquí hay un poco de información sobre las funciones USERRELATIONSHIP y TREATAS de LuckyTemplates. Echemos un vistazo a las definiciones de estas funciones en la guía DAX a través del sitio web LuckyTemplates.
La función de LuckyTemplates aplica un resultado de una expresión de tabla como filtros a las columnas de una tabla no relacionada. Esto significa que no existe una relación activa o inactiva entre, en este caso, la tabla de fechas y la tabla de hechos.
Por otro lado, LuckyTemplates especifica una relación para ser utilizada en un cálculo específico como la que existe entre columnName1 y columnName2.
Entonces, en este caso, si estamos creando una medida DAX, la función USERRELATIONSHIP se usará si tuviéramos una relación inactiva entre la tabla de fechas y nuestra tabla de hechos.
Volvamos al escritorio de LuckyTemplates y veamos cómo se une todo esto.
Echemos un vistazo a mi modelo de datos para que pueda ver cómo está todo configurado. Es básicamente un modelo muy simple. Tengo una tabla de hechos, que se llama Trabajos , y luego tengo la tabla Fecha . Y como puede ver, ya he creado tablas de medidas para las medidas TREATAS y para las medidas USERRELATIONSHIP.
En el modelo de datos, todas estas relaciones con las líneas de puntos son relaciones inactivas entre la tabla Fechas y la tabla Trabajos para varias fechas. Aquí es cuando usaríamos la función USERRELATIONSHIP.
Si no hay ninguna de estas relaciones inactivas entre estas dos tablas, entonces usaríamos la función TREATAS.
Cuándo usar la función TREATAS
Ahora veamos cómo se ven estas medidas para TREATAS al crear medidas. En la tabla de hechos aquí, puede ver que tenemos varias fechas. Hay una fecha de recepción, una fecha de estimación aprobada, una fecha de inicio, una fecha de facturación y una fecha de cierre.
Bajo las medidas de TREATAS, tenemos la medida de conteo recibido ( Rec'd Count v2 ), que es básicamente una fórmula para calcular el número de trabajos. Uso la función TRATAMIENTOS y también uso la función Y luego, acabo de colocar la columna Fecha de la tabla Fecha y la columna Fecha de recepción de Trabajos .
Situación muy similar si buscamos obtener el número de estimaciones totales . Como puede ver en la imagen a continuación, solo estoy calculando las estimaciones totales con las TREATAS y estoy usando esa columna Fecha de la tabla Fecha. Y también estamos usando la Fecha de recepción de la tabla de hechos Trabajos.
Cuándo utilizar la RELACIÓN DE USUARIO de LuckyTemplates
Ahora veamos cómo se usa la RELACIÓN DE USUARIO de LuckyTemplates en las medidas. Como puede ver, los números en esta página coinciden con los de la página de TRATAMIENTOS. Entonces estamos usando diferentes funciones para obtener la misma respuesta a lo que queremos obtener para nuestra medida DAX.
Recuerde que tenemos esas líneas punteadas entre la tabla Fecha y la tabla de hechos (Trabajos) en el modelo de datos. Entonces, en este caso, tenemos una relación inactiva y podemos usar la función USERRELATIONSHIP. Y lo que hace esta función es que en realidad activa esa relación inactiva .
Entonces, si observamos la medida recibida ( Rec'd Count ) usando USERRELATIONSHIP, puede ver que es bastante similar a la medida usando TREATAS. Observe que usé VALORES en la medida TRATAMIENTOS, pero no en esta medida con la función RELACIÓN DE USUARIO.
Y luego, así es como se ve la medida de estimación total ( Rec'd $$) para la Fecha de recepción. Una vez más, estamos calculando estimaciones totales, usamos la función USERRELATIONSHIP y luego usamos la columna Fecha de la tabla Fecha y la Fecha de recepción de la tabla Trabajos.
Conclusión
En este tutorial, le mostré cuándo usar la función de RELACIÓN DE USUARIO de LuckyTemplates, así como la función TRATAMIENTO. Note que usé VALORES en la medida TRATAS.
Tenga en cuenta que cuando se encuentre con un problema como este, tiene diferentes opciones. Puede usar TREATAS o USERRELATIONSHIP dependiendo de cómo esté configurado su modelo.
Una cosa que también debe recordar es que cuando desee usar TREATAS para crear una medida DAX, debe asegurarse de no tener relaciones inactivas o activas entre la tabla de fechas y su tabla de hechos.
Y viceversa con USERRELATIONSHIP en su medida DAX . Necesitará una relación inactiva entre la tabla de fechas y su tabla de hechos para crear esa medida.
Para obtener más información sobre este tema, consulte los enlaces a continuación y visite nuestro sitio web para obtener más contenido.