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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Anonymous
Not applicable

Relación de uno a varios y columnas calculadas

Hola a todos,

Tengo dos tablas con relación "uno a varios" vinculadas por la columna "ID" donde:
- Table1 tiene valores de identificación únicos
- Table2 tiene un subconjunto de esos ID, pero potencialmente repetido varias veces (hasta 3). La Tabla2 también tiene una columna "Gato" que, si se filtra por Gato , "A" hace que la lista de ID en Table2 sea única de nuevo (teoréticamente la relación vuelve a un "uno a uno" con la Tabla1).

La pregunta es: ¿cómo puedo configurar un código DAX para una columna calculada en la Tabla1 que devuelve "YES" si Table2 tiene una entrada para ese ID y tiene Cat "A" y "NO" si no hay ningún ID en Table2 o si hay el ID pero con Cat<>"A"?

A partir de ahora tengo un Table3 que tiene identificadores únicos y varias columnas para que los diferentes "Cat" tengan la relación uno a uno y la función RELACIONADA funcionando, pero me gustaría deshacerme de esta duplicación.

¡Gracias!

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@giogiogio ,

Una nueva columna en la Tabla 1

if(isblank(countx(filter(table2,table1[ID] - table2[ID] y table2[Cat] ?"A"),table2[Cat])),"No","Sí")

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

5 REPLIES 5
az38
Community Champion
Community Champion

Hola @giogiogio

puede crear una medida

Measure = 
var _count = CALCULATE(COUNTROWS(Table2), FILTER(ALL(Table2), Table2[ID] = SELECTEDVALUE(Table1[ID] && Table2[Cat] = "A") )
RETURN
IF(_count > 0, "YES", "NO")

y no entiendo por qué necesitas tercera mesa. Estoy seguro de que podría haber una solución más apropiada


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
Anonymous
Not applicable

@az38 gracias por la pista.
Eso es para una medida, pero estoy tratando de encontrar una manera de crear una columna calculada en Table1, ya que me gustaría usar esto también como una segmentación de datos / categoría en los gráficos y no sólo como una medida

az38
Community Champion
Community Champion

@giogiogio

lo mismo pero con EARLIER()

Column= 
var _count = CALCULATE(COUNTROWS(Table2), FILTER(ALL(Table2), Table2[ID] = EARLIER(Table1[ID]) && Table2[Cat] = "A") )
RETURN
IF(_count > 0, "YES", "NO")


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
Anonymous
Not applicable

Gracias a los dos caballeros, ambas soluciones están funcionando bien!
@amitchandak@az38

amitchandak
Super User
Super User

@giogiogio ,

Una nueva columna en la Tabla 1

if(isblank(countx(filter(table2,table1[ID] - table2[ID] y table2[Cat] ?"A"),table2[Cat])),"No","Sí")

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors