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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Jerarquía visual de matriz y color condicional basado en el color general

Hola a todos,

Tengo un caso de uso simple para el objeto visual de matriz que quiero mostrar.

Tengo una tabla con el color del proyecto, el grupo de proyecto, el líder del equipo, la tarea y el estado en una tabla.

Entonces, en base a la reliquia, quiero el color general de un grupo de proyecto y y nivel de proyecto. por ejemplo.

Si alguna tarea en el grupo de proyecto está incompleta, debe mostrarse en amarillo, si alguna tarea en el nivel de grupo de proyecto es roja, el color general es rojo. El verde solo es posible si todas las tareas del proyecto son verdes.

Del mismo modo, si nos movemos un nivel por encima, es decir, a nivel de proyecto, debería mostrar color según el nivel del grupo de proyecto. por ejemplo.

Si alguno de los miembros del grupo del proyecto es rojo, entonces todo el proyecto es rojo. Si no hay rojo y alguno de los miembros del grupo de proyecto es amarillo, entonces el proyecto general es amarillo y el verde solo es posible si todos los grupos de proyecto son verdes.

A continuación, se muestra un ejemplo de captura de pantalla:

fahadkhan_0-1750087913619.png

Quiero crear una medida que muestre el color en función del nivel de reliquia.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Sí, esta solución profundiza hacia arriba y hacia abajo

Por favor, haga clic en el pulgar hacia arriba porque he intentado ayudar.
A continuación, haga clic en aceptar la solución si funciona.

Project group colour = 
var mylist = 
    CALCULATETABLE(
        VALUES(yourdata[Status]),
        ALLEXCEPT(yourdata,yourdata[Project Group]),
        yourdata[Status] <> "Complete"
    )
RETURN
IF (COUNTROWS(mylist) > 0, "Red", "Green")

speedramps_0-1750154865241.png

Syndicate_Admin
Administrator
Administrator

Hola @fahadkhan


A continuación, un poco largo:

coloring = 
var currentProject = SELECTEDVALUE('Table'[Project])
var currentStatus = SELECTEDVALUE('Table'[Task Status])
var isTaskLevel = HASONEVALUE('Table'[Task])

var delayedRedOnes = 
COUNTX(
    VALUES('Table'[Project Group]),
    CALCULATE(
        COUNTX( 
            VALUES('Table'[Project]),
            CALCULATE(
                COUNTROWS('Table'),
                'Table'[Task Status] = "Delayed",
                REMOVEFILTERS('Table'[Task])
            )
        ),
    REMOVEFILTERS('Table'[Project])
    )
)
var inProgressOnes = 
COUNTX(
    VALUES('Table'[Project Group]),
    CALCULATE(
        COUNTX( 
            VALUES('Table'[Project]),
            CALCULATE(
                COUNTROWS('Table'),
                'Table'[Task Status] = "In Progress",
                REMOVEFILTERS('Table'[Task])
            )
        ),
    REMOVEFILTERS('Table'[Project])
    )
)
var completeGreenOnes = 
COUNTX(
    VALUES('Table'[Project Group]),
    CALCULATE(
        COUNTX( 
            VALUES('Table'[Project]),
            CALCULATE(
                COUNTROWS('Table'),
                'Table'[Task Status] = "Complete",
                REMOVEFILTERS('Table'[Task])
            )
        ),
    REMOVEFILTERS('Table'[Project])
    )
)
var taskLevelCheck = 
SWITCH(
    TRUE(),
    isTaskLevel && currentStatus = "Delayed", "red",
    isTaskLevel && currentStatus = "In Progress", "yellow",
    isTaskLevel && currentStatus = "Complete", "green"
)

var idk = SWITCH( TRUE(),
completeGreenOnes > 0 && ISBLANK(delayedRedOnes) && ISBLANK(inProgressOnes), "green",
delayedRedOnes > 0 ,"red",
isTaskLevel, taskLevelCheck,
"yellow"
)

return idk

vojtechsima_0-1750095855641.png

¿Funciona en la exploración en profundidad y en la exploración en profundidad? Por ejemplo, si explora en profundidad para ver el nivel de grupo de proyecto en un objeto visual de matriz, ¿mostrará el número o código correcto?

Creo que sí @fahadkhan

Adjunto el archivo, se puede ver

Syndicate_Admin
Administrator
Administrator

Cree una medida como esta

Por favor, haga clic en pulgares hacia arriba porque he tratado de ayudar.

A continuación, haga clic en [aceptar solución] si funciona

Project group colour = 
var mylist = 
    CALCULATETABLE(
        VALUES(yourdata[Status]),
        ALLEXCEPT(yourdata,yourdata[Project Group]),
        yourdata[Status] <> "Complete"
    )
RETURN
IF (COUNTROWS(mylist) > 0, "Red", "Green")

speedramps_0-1750092741989.png

Helpful resources

Announcements
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.

Top Solution Authors