Reply
Syndicate_Admin
Administrator
Administrator
Syndicated - Inbound

Referencia cruzada de varios valores vinculados

Source Community: Power BI | Source Author Name: silverdale9999

En primer lugar, luchando por encontrar un título útil para este, así que me disculpo de antemano.

Si alguien está luchando por ideas para divertirse el sábado, ¿podría sugerirle que considere este pequeño problema que tengo? 😏

Tengo dos conjuntos de datos diferentes:

2 columnas en un conjunto de datos:

Padre - Números de referencia que pueden duplicarse si hay referencias 'secundarias'.

Niño - Relacionado con la referencia principal (estos no se duplicarán)

1 Columna en el segundo conjunto de datos.

Lista maestra : números de referencia, que pueden ser padre o hijo. Esto es lo que estoy tratando de validar en contra.

Mi objetivo es etiquetar las referencias Parent o Child como Válidas con una Y o N.

Los criterios para ello son:

  • Si la referencia principal está en la lista maestra, los ID principal y todos los id secundarios son válidos.
  • Si alguna de las referencias secundarias está en la lista maestra, ese ID de hijo, así como el ID maestro y todos los demás ID de niño se etiquetan como válidos.
  • Si ni el hijo ni el padre están en la lista maestra, no son válidos.


No tengo problemas con el etiquetado de las referencias individuales, pero lo que no puedo averiguar es cómo comenzar a etiquetar todas las otras referencias vinculadas que no están en la lista maestra. (El bit subrayado arriba). Posiblemente lo he complicado demasiado en mi cabeza y ahora no puedo encontrar un camino a seguir.

¡Feliz de escuchar cualquier sugerencia! ¡Gracias!

Los datos y resultados de ejemplo están aquí:

Master List
1234
15318



ParentChild¿Válido?¿Por qué válido?
123423456El ID de padre 1234 está en la lista maestra: etiquete todo como Y
123465446El ID de padre 1234 está en la lista maestra: etiquete todo como Y
123445688El ID de padre 1234 está en la lista maestra: etiquete todo como Y
123415385El ID de padre 1234 está en la lista maestra: etiquete todo como Y
123515348Child ID 15318 está en la lig maestra - etiqueta todo como Y
123515318Child ID 15318 está en la lig maestra - etiqueta todo como Y
123555784Child ID 15318 está en la lig maestra - etiqueta todo como Y
123544775Child ID 15318 está en la lig maestra - etiqueta todo como Y
12369665NoNo es válido: ninguno de los ID está en la lista maestra
12368896NoNo es válido: ninguno de los ID está en la lista maestra
12366687NoNo es válido: ninguno de los ID está en la lista maestra
12366698NoNo es válido: ninguno de los ID está en la lista maestra
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: v-yalanwu-msft
Syndicated - Inbound

Hi, @silverdale9999 ;

Podrías crear una medida,

Measure = 
var _contain=SUMMARIZE(FILTER(ALL('Table'),[Child] in ALLSELECTED(Master[List]) || [Parent] in ALLSELECTED(Master[List])),[Parent])
return IF(MAX('Table'[Parent]) in _contain,"Yes","No")

O una columna

Column = 
var _contain=SUMMARIZE(FILTER(ALL('Table'),[Child] in ALLSELECTED(Master[List]) || [Parent] in ALLSELECTED(Master[List])),[Parent])
return IF([Parent] in _contain,"Yes","No")

El resultado final se muestra a continuación:

vyalanwumsft_0-1645497737651.png

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: v-yalanwu-msft
Syndicated - Inbound

Hi, @silverdale9999 ;

Podrías crear una medida,

Measure = 
var _contain=SUMMARIZE(FILTER(ALL('Table'),[Child] in ALLSELECTED(Master[List]) || [Parent] in ALLSELECTED(Master[List])),[Parent])
return IF(MAX('Table'[Parent]) in _contain,"Yes","No")

O una columna

Column = 
var _contain=SUMMARIZE(FILTER(ALL('Table'),[Child] in ALLSELECTED(Master[List]) || [Parent] in ALLSELECTED(Master[List])),[Parent])
return IF([Parent] in _contain,"Yes","No")

El resultado final se muestra a continuación:

vyalanwumsft_0-1645497737651.png

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: David-Ganor
Syndicated - Inbound

¿ @silverdale9999

Creo que se puede lograr usando 2 columnas calculadas.

La lógica general se puede simplificar a:

Si el padre es válido, todos sus hijos son válidos.

1ª columna - es padre válido:

Usar la búsqueda y si

Si la búsqueda del hijo es verdadera o la búsqueda del padre es verdadera --> que devuelva el ID del padre.

2ª columna: busque si la fila actual ID principal está en la 1ª columna de toda la tabla

Var this_row_parent=Tabla[Padre]

Ser rows_count=

Calcular(countrows(Tabla)

,Filtro(Tabla)

,Tabla[1ª columna]=this_row_parent)

Devolución

If(row_count>0,"Válido","No válido")

Espero que ayude,

David

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)