Comparación YTD del nivel de grado del empleado

Un usuario Pregunto ✅

kendrickp87

Hola,
Estoy tratando de resaltar nuevos empleados y promociones en una tabla de matriz. Puedo mostrar el mes actual frente al anterior, pero quería darles a mis clientes la oportunidad de alternar entre MTD (Lista actual – Calificación del mes anterior) y YTD (Lista actual – Calificación de enero) con una segmentación. La sección YTD de mi fórmula dinámica (muestra los niveles de calificación de enero) necesita ayuda.

Me gustaría que mostrara los niveles de calificación de Jan Employee en la misma línea que el mes actual (el informe tiene un filtro de mes y año). ¡Cualquier ayuda sería muy apreciada!

Prev Grade Dynamic = 
SWITCH(MAX('Fiscal Period'[Grade Scenario]),
        "MTD",
VAR _prevDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Job Code to Grade.Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _prevDate),
       
        "YTD",
VAR _JanDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[BOOKMO] = "201901")
                )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Job Code to Grade.Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _JanDate)
)

Imagen 1) MTD y funciona correctamente
Imagen 2) YTD y no funciona

MTD.jpgYTD.jpg

Hola @kendrickp87

MTD (Lista actual – Calificación anterior del mes) y YTD (Lista actual – Calificación de enero)

Crear medidas

mtd =
IF (
    DATEDIFF ( MAX ( Sheet2[date] ), TODAY (), MONTH ) <= 1,
    CALCULATE (
        SUM ( Sheet2[value] ),
        FILTER (
            ALLEXCEPT ( Sheet2, Sheet2[pin] ),
            DATEDIFF ( Sheet2[date], TODAY (), MONTH ) <= 1
        )
    )
)

ytd = TOTALYTD(SUM(Sheet2[value]),'date'[Date],FILTER(ALLEXCEPT(Sheet2,Sheet2[pin]),Sheet2[date]<=TODAY()),"12/31")

Measure = SWITCH(MAX(slicer[selection]),"MTD",[mtd],"YTD",[ytd])

Captura2.JPG

Captura3.JPGCaptura4.JPG

Atentamente
Maggie
Equipo de apoyo comunitario _ Maggie Li
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

kendrickp87

En respuesta a v-juanli-msft

Gracias Maggie, eso funcionó para mí!

También pude resolver mi propia pregunta usando MIN BookMonth #, para obtener la calificación de la lista/empleado de enero en la misma fila que los valores del mes actual.

Prev Grade Dynamic = 
SWITCH(MAX('Fiscal Period'[Grade Scenario]),
        "MTD",
VAR _prevDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _prevDate),
       
        "YTD",
VAR _JanDate =
    CALCULATE(
            MIN(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _JanDate)
)

Hola @kendrickp87

¿Se solucionó este problema?
Si es sloved, ¿podría aceptarlo como una solución para cerrar este caso?
Si no es así, por favor hágamelo saber.
Atentamente
Maggie

kendrickp87

Hola,
Estoy tratando de resaltar nuevos empleados y promociones en una tabla de matriz. Puedo mostrar el mes actual frente al anterior, pero quería darles a mis clientes la oportunidad de alternar entre MTD (Lista actual – Calificación del mes anterior) y YTD (Lista actual – Calificación de enero) con una segmentación. La sección YTD de mi fórmula dinámica (muestra los niveles de calificación de enero) necesita ayuda.

Me gustaría que mostrara los niveles de calificación de Jan Employee en la misma línea que el mes actual (el informe tiene un filtro de mes y año). ¡Cualquier ayuda sería muy apreciada!

Gracias,

Kendrick

Prev Grade Dynamic = 
SWITCH(MAX('Fiscal Period'[Grade Scenario]),
        "MTD",
VAR _prevDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Job Code to Grade.Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _prevDate),
       
        "YTD",
VAR _JanDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[BOOKMO] = "201901")
                )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Job Code to Grade.Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _JanDate)
)

Para contexto añadido:

Grade = TOTALMTD(
                        SUM(CORPX_ROSTER_V[Job Code to Grade.Grade Equivalent]),
                        'Calendar'[Date])
Grade Var = [Grade] - [Prev Grade Dynamic]
Grade Change Description = IF([Grade Var] > 0 && [Grade Var] < [Grade], "Promotion",
                            IF([Grade Var] > 0 && [Grade Var] = [Grade], "New Hire/ Transfer",
                            IF([Grade Var] < 0, "Recalibration", "")))

Imagen 1) MTD y funciona correctamente
Imagen 2) YTD y no funciona

MTD.jpgYTD.jpg

Hola @kendrickp87

MTD (Lista actual – Calificación anterior del mes) y YTD (Lista actual – Calificación de enero)

Crear medidas

mtd =
IF (
    DATEDIFF ( MAX ( Sheet2[date] ), TODAY (), MONTH ) <= 1,
    CALCULATE (
        SUM ( Sheet2[value] ),
        FILTER (
            ALLEXCEPT ( Sheet2, Sheet2[pin] ),
            DATEDIFF ( Sheet2[date], TODAY (), MONTH ) <= 1
        )
    )
)

ytd = TOTALYTD(SUM(Sheet2[value]),'date'[Date],FILTER(ALLEXCEPT(Sheet2,Sheet2[pin]),Sheet2[date]<=TODAY()),"12/31")

Measure = SWITCH(MAX(slicer[selection]),"MTD",[mtd],"YTD",[ytd])

Captura2.JPG

Captura3.JPGCaptura4.JPG

Atentamente
Maggie
Equipo de apoyo comunitario _ Maggie Li
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

kendrickp87

En respuesta a v-juanli-msft

Gracias Maggie, eso funcionó para mí!

También pude resolver mi propia pregunta usando MIN BookMonth #, para obtener la calificación de la lista/empleado de enero en la misma fila que los valores del mes actual.

Prev Grade Dynamic = 
SWITCH(MAX('Fiscal Period'[Grade Scenario]),
        "MTD",
VAR _prevDate =
    CALCULATE(
            MAX(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _prevDate),
       
        "YTD",
VAR _JanDate =
    CALCULATE(
            MIN(CORPX_ROSTER_V[MonthNo]),
            FILTER(
                ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),
                CORPX_ROSTER_V[Date] < MAX(CORPX_ROSTER_V[Date])
                )
    )
Return
    CALCULATE(MAX(CORPX_ROSTER_V[Grade Equivalent]),
    ALLEXCEPT(CORPX_ROSTER_V, CORPX_ROSTER_V[PIN]),CORPX_ROSTER_V[MonthNo] = _JanDate)
)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *