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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
KG1
Resolver I
Resolver I

Ayuda necesaria para crear una matriz personalizada

Hola

Necesito ser capaz de crear una matriz como esta que traza un valor dentro de una matriz basada en su puntuación.

¿Podría alguien ofrecer algún consejo sobre si esto sería posible y cómo se puede hacer?

Muchas gracias

Heat Map.JPG

1 ACCEPTED SOLUTION
v-gizhi-msft
Community Support
Community Support

Hola

Según su descripción, creo que no puedo alcanzar completamente su requisito, pero tengo una solución.

Puede crear una tabla llamada 'Mapa de calor' como esta introduciendo datos:

20.PNG

Copie esta tabla llamada 'Mapa de calor (2)' en el Editor de consultas y desdinámica, muestra:

21.PNG

A continuación, elija Table Hearmap visual from App Source para mostrar la tabla 'Heat Map', que muestra:

11.PNG12.PNG

Consulte su tabla publicada, creo estas medidas para mostrar el eje X y el eje Y de cada riesgo en el contenido visual del mapa de calor superior:

risk 1-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 1"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 2-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 2"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 3-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 3"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 4-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 4"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 1 = IF([risk 1-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 1-check]),1,0)
risk 2 = IF([risk 2-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 2-check]),1,0)
risk 3 = IF([risk 3-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 3-check]),1,0)
risk 4 = IF([risk 4-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 4-check]),1,0)

A continuación, pruebe estas dos medidas:

_Category =
SWITCH (
    TRUE,
    MAX ( 'Table'[Risk Title] ) = "Risk 1", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 1] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 2", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 2] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 3", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 3] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 4", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 4] = 1 )
    )
)

_Attribute = 
SWITCH (
    TRUE,
    MAX ( 'Table'[Risk Title] ) = "Risk 1", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 1] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 2", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 2] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 3", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 3] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 4", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 4] = 1 )
    )
)

El resultado muestra:

22.PNG

Aquí está mi archivo pbix de prueba:

pbix

Espero que esto ayude.

Saludos

Giotto Zhi

View solution in original post

4 REPLIES 4
v-gizhi-msft
Community Support
Community Support

Hola

Según su descripción, creo que no puedo alcanzar completamente su requisito, pero tengo una solución.

Puede crear una tabla llamada 'Mapa de calor' como esta introduciendo datos:

20.PNG

Copie esta tabla llamada 'Mapa de calor (2)' en el Editor de consultas y desdinámica, muestra:

21.PNG

A continuación, elija Table Hearmap visual from App Source para mostrar la tabla 'Heat Map', que muestra:

11.PNG12.PNG

Consulte su tabla publicada, creo estas medidas para mostrar el eje X y el eje Y de cada riesgo en el contenido visual del mapa de calor superior:

risk 1-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 1"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 2-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 2"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 3-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 3"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 4-check = 
var a = CALCULATE(MAX('Table'[Residual Score]),FILTER('Table','Table'[Risk Title]="Risk 4"))-MAX('Hear Map (2)'[Value])
return
IF(a>=0,a,100)

risk 1 = IF([risk 1-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 1-check]),1,0)
risk 2 = IF([risk 2-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 2-check]),1,0)
risk 3 = IF([risk 3-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 3-check]),1,0)
risk 4 = IF([risk 4-check]=MINX(ALLSELECTED('Hear Map (2)'),[risk 4-check]),1,0)

A continuación, pruebe estas dos medidas:

_Category =
SWITCH (
    TRUE,
    MAX ( 'Table'[Risk Title] ) = "Risk 1", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 1] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 2", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 2] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 3", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 3] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 4", CALCULATE (
        MAX ( 'Hear Map (2)'[Category] ),
        FILTER ( 'Hear Map (2)', [risk 4] = 1 )
    )
)

_Attribute = 
SWITCH (
    TRUE,
    MAX ( 'Table'[Risk Title] ) = "Risk 1", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 1] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 2", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 2] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 3", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 3] = 1 )
    ),
    MAX ( 'Table'[Risk Title] ) = "Risk 4", CALCULATE (
        MAX ( 'Hear Map (2)'[Attribute] ),
        FILTER ( 'Hear Map (2)', [risk 4] = 1 )
    )
)

El resultado muestra:

22.PNG

Aquí está mi archivo pbix de prueba:

pbix

Espero que esto ayude.

Saludos

Giotto Zhi

KG1
Resolver I
Resolver I

Data.JPGGracias por responder


En estos datos de muestra, el Riesgo 2 se trazaría en el cuadrante superior derecho (como alto riesgo) y los riesgos 3 y 4 estarían en el cuadrante inferior izquierdo

amitchandak
Super User
Super User

Puede compartir datos de ejemplo y reglas de ejemplo.

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
Mariusz
Community Champion
Community Champion

Hola @KG1

Si usted está buscando desarrollar un objeto visual personalizado usted mismo, puede publicar sus preguntas aquí.

https://community.powerbi.com/t5/Developer/bd-p/Developer

Opcionalmente, ha comprobado si aún no hay objetos visuales personalizados disponibles.

image.png

Saludos
Mariusz

Si este post ayuda,entonces por favor considere aceptarlo como la solución.

Por favor, siéntase libre de conectarse conmigo.
Linkedin

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

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

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors