Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Syndicate_Admin
Administrator
Administrator

Una pregunta más compleja sobre la declaración RELATED() para 1..* relaciones

Los antecedentes:

Mi informe de PowerBI trata de mostrar la calidad de los datos de otro sistema (ya que el sistema se rellena principalmente manualmente).

Entonces, si tenía una tabla que se llama, por ejemplo, Pedidos, que tiene los campos "referencia de pedido" y "fecha de pedido", se supone que estos campos deben completarse correctamente de acuerdo con un esquema definido.

Pero como las personas a veces son perezosas o tienden a ingresar cosas incorrectas, tenemos este informe de PowerBI para indicar cualquier problema de calidad de datos.

Es decir: obtienes puntos por cada campo que tiene datos ingresados de acuerdo con el esquema.

El problema:

El cálculo en sí funciona bien por tabla y también en otras tablas, excepto una relación, dondeel problema principal aquí proviene de la relación de la tabla de las dos tablas en sí (ver captura de pantalla a continuación).

Un "pedido" puede tener detalles, y en este caso 0..* líneas de detalle, mientras que solo hay una activa a la vez.

No importa si hay líneas de detalle o no, necesito mostrar la puntuación total por pedido

(Porque en realidad, todo debería tener al menos una línea de detalle, ¡y ya es un problema de calidad de datos si no hay línea!)

DM_Scores.png

Debido a esta relación tengo los siguientes problemas:
Opción 1) si agrego la columna Puntuación total a la tabla Pedidos, PowerBI no me permitirá seleccionar ninguna columna de la tabla OrderDetails en la instrucción relacionada ("no se encuentra el nombre de campo")

TotalScoreInOrders =

VAR Score3= RELATED(OrderDetails[Score3]) /* this line does not work due to the relation */
Return Orders[Score1] + Orders[Score2] + Score3

Opción 2) si agrego la columna Puntuación total en la tabla OrderDetails y controlo las ocasiones cuando hay varias líneas (ya sea estableciendo la puntuación en 0 o filtrando en Active=TRUE), obtengo resultados para Orders with OrderDetails (independientemente del #ofDetailLines).

--> pero: se mostrará (en blanco) en lugar del Totif el pedido no tiene OrderDetails, lo cual tiene sentido, porque si no hay línea, no hay nada que mostrar.
TotalScoreInOrderDetails = 
VAR Score1= RELATED(OrderDetails[Score1])
VAR Score2= RELATED(OrderDetails[Score2])
Return Score1 + Score2 + OrderDetails[Score3]

/* this column works, but will post no result (blank) if there are no detail lines */
Mi pregunta ahora es:
¿Cómo puedo lograr que los campos OrderDetails-se puedan seleccionar en la instrucción Related de la opción 1) ?
Porque no creo que pueda falsificar líneas para hacer que la opción 2) se ejecute 🙂

Si ayuda: Tengo la opción de manipular las tablas de origen en la base de datos (ya que son vistas).
PD: Necesitaba cambiar el nombre de las tablas, por lo que no se trata realmente de pedidos y detalles de pedidos, pero esa es la relación similar más cercana que pude encontrar.
Cualquier ayuda, ideas o "pensamiento fuerte" apreciado!
1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@CoTheiss seguro de por qué está utilizando funciones relacionadas. ¿Cómo se ve su modelo de datos, especialmente con la tabla utilizada en su ejemplo? ¿Están agregando medidas?

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.