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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

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
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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