Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
2 years ago

Cómo aplicar el formato condicional a una columna determinada, basándose en el texto de otra columna

Tengo una tabla que se parece a la siguiente.

PROYECTOFASEFASE DE PRONÓSTICO 1FASE 2FASE DE PRONÓSTICO 3FASE 4 DE PRONÓSTICO
AFASE 1{FECHA}{FECHA}{FECHA}{FECHA}
BFASE 2{FECHA}{FECHA}{FECHA}{FECHA}
CFASE 3{FECHA}{FECHA}{FECHA}{FECHA}
DFASE 2{FECHA}{FECHA}{FECHA}{FECHA}

Estoy buscando una manera de aplicar formato condicional para resaltar cualquier fecha en el pasado, pero solo para la siguiente fase.

Por ejemplo, si el Proyecto A está en la Fase 1, quiero que el formato solo se aplique a la columna relevante para la Fase 2 de Pronóstico, y necesito resaltar si la fecha está en el pasado.

Cualquier ayuda es apreciada.

Gracias.

3 Replies

  • Hola, @kristi_in_heels estoy encantado de ayudarte.
    Aquí están mis sugerencias.

    Sugerencia1:
    Cree una medida correspondiente para las columnas correspondientes

    M_PHASE2 = 
     SWITCH(TRUE(),
     MAX('ProjectTable'[PHASE])="PHASE 1",IF(SELECTEDVALUE(ProjectTable[FORECAST PHASE 2])<TODAY(),1,2),
    0
     )
    
    M_PHASE3 = 
     SWITCH(TRUE(),
     MAX('ProjectTable'[PHASE])="PHASE 2",IF(SELECTEDVALUE(ProjectTable[FORECAST PHASE 3])<TODAY(),1,2),
    0
     )
    
    M_PHASE4 = 
     SWITCH(TRUE(),
     MAX('ProjectTable'[PHASE])="PHASE 3",IF(SELECTEDVALUE(ProjectTable[FORECAST PHASE 4])<TODAY(),1,2),
    0
     )
    

    Utilice el valor de Medida correspondiente para cada columna para establecer el color de fondo de esa columna.

    Sugerencia2
    También puede aplicar un color de fondo a las columnas calculadas recién creadas extrayendo uniformemente los valores de las columnas que satisfacen las condiciones

    Crear columna de cálculo

    Next Phase Date = 
    SWITCH(
        TRUE(),
        ProjectTable[PHASE] = "PHASE 1", ProjectTable[FORECAST PHASE 2],
        ProjectTable[PHASE] = "PHASE 2", ProjectTable[FORECAST PHASE 3],
        ProjectTable[PHASE] = "PHASE 3", ProjectTable[FORECAST PHASE 4],
        BLANK()
    )
    

    Crear medida:

    IF_expiration_date = 
    IF(MAX('ProjectTable'[Next Phase Date])<TODAY(),
    1,0)
    

    Espero que los resultados de mis pruebas puedan traerte buenas ideas y puedas elegir la forma correcta según tus necesidades

    Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, por favor aclare en una respuesta de seguimiento.

    Saludos

    Carson Jian,

    Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

  • Muchas gracias.

    Terminé optando por una solución diferente que descubrí, pero agradezco sus comentarios y sugerencias y los tendré a mano si necesito lograr este resultado nuevamente.

    Como referencia, creé una medida individual por fase:

    Medida = si(máximo('Todos los proyectos'[ProjectPhaseDescription])="FASE 1"&& máximo('Todos los proyectos'[PHASE2_Forecast])<Hoy(),"#EFB5B9")
    y, a continuación, aplicó una regla de formato condicional a la columna correspondiente.
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Espero que alguien pueda ayudarme más con esta medida.

      El formato funciona según lo previsto, pero hay 1 columna a la que solo necesito aplicar el formato en función del texto dentro de una columna separada.

      Esencialmente, quiero que solo los proyectos marcados como "Tipo A2" estén coloreados por el formato condicional en solo una de las columnas.

      Eg

      Columna 1: formato condicional aplicado a todos los proyectos

      Columna 2: Formato condicional filtrado para que solo se aplique a proyectos A2

      No puedo filtrar todo el conjunto de datos, ya que esto perderá los datos de algunas de las otras columnas que queremos ver.

      Gracias