JCasson
La tabla del conjunto de datos tiene los ID de los empleados y sus valores equivalentes a tiempo completo por meses que abarcan dos años en una columna. ¿Cómo calculo quiénes son los nuevos miembros y quiénes los que abandonan, es decir, para completar las columnas «Mes anterior FTE» y «Marcador»?
Traté de calcular el FTE del primer mes anterior usando «calcular (suma (FTE), mes anterior (mes del año)», pero fallé. Básicamente, si puedo obtener el FTE del mes anterior, entonces el Marcador sería una función if de: Si el mes anterior No se encuentra FTE, marque como «Joiner», y si el FTE del mes anterior es> 0 y no se encuentra FTE, marque como «Leaver».
ID de empleado | FTE | Año mes | Mes anterior FTE | Marcador |
100001 | 1 | 2019 enero | N / A | N / A |
100002 | 0,7 | 2019 enero | N / A | N / A |
100003 | 0,8 | 2019 enero | N / A | N / A |
100004 | 1 | 2019 enero | N / A | N / A |
100005 | 1 | 2019 enero | N / A | N / A |
100001 | 1 | 2019 febrero | 1 | |
100002 | 0,7 | 2019 febrero | 0,7 | Dejando |
100003 | 0,8 | 2019 febrero | 0,8 | |
100004 | 1 | 2019 febrero | 1 | |
100005 | 1 | 2019 febrero | 1 | |
100001 | 1 | 2019 Mar | 1 | |
100003 | 0,8 | 2019 Mar | 0,8 | |
100004 | 1 | 2019 Mar | 1 | |
100005 | 1 | 2019 Mar | 1 | |
100006 | 1 | 2019 Mar | 0 | Carpintero |
ryan_mayu
@JCasson
puedes intentar crear dos columnas
Column =
VAR mindate=minx(all('Table'),'Table'[Year Month])
VAR previous=MAXX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]<EARLIER('Table'[Year Month])),'Table'[FTE])
return if('Table'[Year Month]=mindate,blank(),if(ISBLANK(previous),0,previous))
Column 2 =
VAR mindate=minx(all('Table'),'Table'[Year Month])
VAR maxdate=MAXX(all('Table'),'Table'[Year Month])
VAR previous=MAXX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]<EARLIER('Table'[Year Month])),'Table'[FTE])
VAR next=MINX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]>EARLIER('Table'[Year Month])),'Table'[FTE])
return if(ISBLANK('Table'[Column]),BLANK(),if(ISBLANK(previous),"joiner",if('Table'[Column]>0&&ISBLANK(next)&&'Table'[Year Month]<>maxdate,"leaver",blank())))
ryan_mayu
@JCasson
puedes intentar crear dos columnas
Column =
VAR mindate=minx(all('Table'),'Table'[Year Month])
VAR previous=MAXX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]<EARLIER('Table'[Year Month])),'Table'[FTE])
return if('Table'[Year Month]=mindate,blank(),if(ISBLANK(previous),0,previous))
Column 2 =
VAR mindate=minx(all('Table'),'Table'[Year Month])
VAR maxdate=MAXX(all('Table'),'Table'[Year Month])
VAR previous=MAXX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]<EARLIER('Table'[Year Month])),'Table'[FTE])
VAR next=MINX(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Year Month]>EARLIER('Table'[Year Month])),'Table'[FTE])
return if(ISBLANK('Table'[Column]),BLANK(),if(ISBLANK(previous),"joiner",if('Table'[Column]>0&&ISBLANK(next)&&'Table'[Year Month]<>maxdate,"leaver",blank())))