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
v-juanli-msft
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])
Maggie
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)
)
v-juanli-msft
Hola @kendrickp87
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
v-juanli-msft
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])
Maggie
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)
)