Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Formato condicional

Hola

Cada mes cambio manualmente el color de la fuente de los siguientes valores de rojo a negro (el rojo es meses futuros).
Me gustaría hacer esto automáticamente cuando comencemos un nuevo mes, ¿cómo puedo hacerlo?

Mi calendario de datos tiene columnas MonthSort, así como un número de mes, la ordenación mensual consta de 202401, 202402 y así sucesivamente y mi ordenación mensual es solo del 1 al 12.

Las medidas que estoy utilizando actualmente para las 3 columnas son:

Original Forecast = 
    VAR _firstdate = 
            CALCULATE(MIN('Total Closures'[Month]),
            FILTER('Modelling','Modelling'[Forecast] <> BLANK() )
            )
    RETURN
        CALCULATE(
                MIN('Modelling'[Forecast]),
                FILTER ('Modelling', Modelling[Month] = _firstdate)
        )

Actual incl Projected = SUM(Modelling[Actual & Projected])

% Difference2 = 
([Actual incl Projected]-[Original Forecast]) / [Last Value Forecast]

Estaría agradecido por cualquier consejo

9 Replies

  • Hola @ArchStanton
    Suponiendo que la columna MonthSort contiene valores como 202401, 202402, etc., y que la columna Month Number contiene valores del 1 al 12, puede crear una medida DAX de la siguiente manera:

    IsFutureMonth = 
    VAR CurrentMonth = YEAR(TODAY()) * 100 + MONTH(TODAY())
    RETURN
    IF(MAX('Calendar'[MonthSort]) > CurrentMonth, 1, 0)

    • Vaya al objeto visual de tabla en el que desea aplicar el formato.
    • Seleccione la columna a la que desea dar formato.
    • Haga clic en la flecha desplegable junto al nombre de la columna y elija "Formato condicional" > "Color de fuente".
    • En el panel de formato condicional, elija "Valor de campo" y seleccione la medida IsFutureMonth.
    • Establezca el color de 1 (meses futuros) en rojo y 0 (meses actuales y pasados) en negro.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Gracias, desafortunadamente no aceptará nada en el valor del campo:

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola, por favor siga estos pasos:
        Para que la tabla1 vea solo los meses futuros, cree la siguiente medida:

        IsFutureMonth = 
        IF(
            LASTDATE('Date'[Date]) > EOMONTH(TODAY(),0),
            1,
            0
        )

        En la tabla 2, para ver solo el mes futuro y el presente, cree la siguiente medida:

        IsFutureMonthPresent = 
        IF(
            LASTDATE('Date'[Date]) >= EOMONTH(TODAY(),0),
            1,
            0
        )

        Ahora vamos a formatear tu visual.

        Seleccione su tabla1 y, en el campo Valores, haga clic con el botón derecho en la medida deseada y agregue un formato condicional como se muestra a continuación:

        En el símbolo del sistema, en el estilo de formato, elija Reglas basadas en la medida isFutureMonth y coloree rojo cuando el valor sea 1, asegúrese de elegir número y no porcentaje, como se muestra a continuación:

        Repita estos pasos para otros valores a los que desee dar formato en la matriz y, para la tabla 2, simplemente formatee con la medida isFuturePresent.

        El resultado final debería verse así:

        Descargue el ejemplo: Modelado de casos - Copiar

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Probé esto y no hay ningún formato en la columna Pronóstico original:

  • Gracias por la respuesta de Bibiano_Geraldo, permítanme proporcionar otra idea:

    Hola, @ArchStanton

    1.En primer lugar, he creado los siguientes datos de muestra basados en su descripción:

    2.En segundo lugar, he creado la siguiente medida para determinar si la fecha actual cumple con los requisitos:

    MEASURE =
    IF (
        MONTH ( MAX ( 'Total Closures'[ Month] ) ) >= MONTH ( TODAY () )
            || YEAR ( MAX ( 'Total Closures'[ Month] ) ) > YEAR ( TODAY () ),
        "red",
        "black"
    )
    

    3.A continuación, modifique los colores columna por columna en la posición que se muestra en la imagen a continuación:

    Tenga en cuenta que es necesario modificar todas las columnas de la visualización a las que necesite cambiar de color.

    4. Aquí está mi resultado final, que espero cumpla con sus requisitos.

    Por favor, encuentre la pbix adjunta relevante para el caso.

    Saludos

    Leroy Lu

    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, gracias por tu respuesta.

      Desafortunadamente, todavía no funciona.

      Mi modelo de datos es simple:

      La columna Mes de mi tabla de fechas es Texto =

      Month = FORMAT('Date'[Date], "MMM")

      y así recibo este mensaje de error con su medida:

      Cuando modifico su medida a esta, el formato permanece completamente negro para la columna Pronóstico original:

      Red or Black = 
      IF (
          MONTH ( MAX ( 'Date'[Date] ) ) >= MONTH ( TODAY () )
              || YEAR ( MAX ( 'Date'[Date] ) ) > YEAR ( TODAY () ),
          "red",
          "black"
      )

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola, @ArchStanton

        Gracias por su respuesta.

        Como sospechaba, creemos que este problema podría deberse a las relaciones de tabla. Le agradeceríamos que nos proporcionara su archivo PBIX para que podamos adaptar la solución en función de sus datos específicos.

        Te recomendamos que lo subas a GitHub y compartas el enlace con nosotros. Al cargar un archivo, tenga cuidado de eliminar la información confidencial.

        Esperamos su respuesta.

        Saludos

        Leroy Lu