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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo del % de superposición

Hola

Soy bastante nuevo en Power BI y necesito soporte técnico para crear una tarjeta que muestre el % de superposición entre dos grupos.
Tengo una lista de contactos y necesito saber cuáles fueron contactados tanto por el grupo 1 como por el 2.

La estructura es similar a la siguiente:

ContactosGrupo 1Grupo 2Grupo 3Grupo 4
Contacto 11
Contacto 2 111
Contacto 31111
Contacto 41
Contacto 5 111
Contacto 61111
Contacto 71
Contacto 8 111
Contacto 9 111
Contacto 101111

Así que me gustaría tener una tarjeta que muestre el % de superposición entre el grupo 1 y 2 solamente, que es en este caso el 30%.
Logré crear una tabla que muestra la lista de contactos pertenecientes a los primeros 2 grupos usando algunos filtros (filtro de grupo y medida >1) pero luego no puedo convertirlo en una tarjeta.

¿Alguien puede ayudarme?

Muchas gracias




3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@Sara12957

Por favor, intente lo siguiente

mi tabla base (Contactos)

Mikelytics_0-1669898036828.png

Mikelytics_1-1669898050789.png

La medida de solapamiento

Overlap = 

var var_TotalContacts = 
   CALCULATE(
      DISTINCTCOUNT(Contacts[Contacts]),
      ALL(Contacts[Contacts])
   )

var var_ContactsGroup1andGroup2 = 
   SUMX(
      ALL(Contacts[Contacts]),
      var CountGroup1 = CALCULATE(COUNT(Contacts[Value]),Contacts[Group]="Group 1")
      var CountGroup2 = CALCULATE(COUNT(Contacts[Value]),Contacts[Group]="Group 2")

    RETURN
    IF(CountGroup1>0 && CountGroup2 > 0 , 1, 0)

   )

RETURN
DIVIDE(var_ContactsGroup1andGroup2,var_TotalContacts)

El resultado

Mikelytics_4-1669898123514.png

podría ser que necesite usar en lugar de ALL() las funciones ALLSELECTED() o VALUES()

Además, debe reemplazar las medidas COUNT() por su medida separada, pero el filtro en el grupo debe permanecer.

Saludos

Miguel

-----------------------------------------------------

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente. ¡Aprecio su pulgar hacia arriba!

@me en las respuestas o perderé tu hilo.

-----------------------------------------------------

LinkedIn (en inglés)

Syndicate_Admin
Administrator
Administrator

@Sara12957 , Tres medidas sobre entre g1 y g2

G1 = suma(Tabla[Grupo1])

G2 = suma(Tabla[Grupo1])

Over lap % = divide( countx(filter(values(Table[Contact]), not(isblank([G1])) && not(isblank([G1])) ), [Contact] ), count(Table[Contact]))

Gracias por su respuesta. Desafortunadamente, la solución proporcionada no funciona para mí. Es posible que no haya explicado la situación correctamente.

Los grupos son parte de la misma columna en el conjunto de datos (solo me interesa G1 y G2) y los valores no son simplemente un recuento de la columna "contacto", sino que hay otra medida que es 1 o 0. Necesito excluir los casos en los que la medida es cero para el grupo 1 o el grupo 2 y calcular el solapamiento %.

Déjame saber si está claro ahora.

Gracias

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors