- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Referencia cruzada de varios valores vinculados
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 |
Parent | Child | ¿Válido? | ¿Por qué válido? |
1234 | 23456 | Sí | El ID de padre 1234 está en la lista maestra: etiquete todo como Y |
1234 | 65446 | Sí | El ID de padre 1234 está en la lista maestra: etiquete todo como Y |
1234 | 45688 | Sí | El ID de padre 1234 está en la lista maestra: etiquete todo como Y |
1234 | 15385 | Sí | El ID de padre 1234 está en la lista maestra: etiquete todo como Y |
1235 | 15348 | Sí | Child ID 15318 está en la lig maestra - etiqueta todo como Y |
1235 | 15318 | Sí | Child ID 15318 está en la lig maestra - etiqueta todo como Y |
1235 | 55784 | Sí | Child ID 15318 está en la lig maestra - etiqueta todo como Y |
1235 | 44775 | Sí | Child ID 15318 está en la lig maestra - etiqueta todo como Y |
1236 | 9665 | No | No es válido: ninguno de los ID está en la lista maestra |
1236 | 8896 | No | No es válido: ninguno de los ID está en la lista maestra |
1236 | 6687 | No | No es válido: ninguno de los ID está en la lista maestra |
1236 | 6698 | No | No es válido: ninguno de los ID está en la lista maestra |
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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:
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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:
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Microsoft Fabric Community Conference 2025
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
Subject | Author | Posted | |
---|---|---|---|
12-31-2020 11:06 AM | |||
07-20-2024 07:40 AM | |||
02-23-2024 09:51 AM | |||
01-25-2024 12:52 PM | |||
02-08-2024 10:04 AM |