Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
JCasson
Frequent Visitor

Añadir columna para mostrar uniones y dejadores

La tabla de conjuntos de datos tiene los ID de empleados y sus valores equivalentes a tiempo completo por meses que abarcan dos años en una columna. ¿Cómo calculo quiénes son nuevos uniones y quiénes son los que abandonan, es decir, para rellenar las columnas "FTE del mes anterior" y "Marcador"?

Traté de calcular el primer FTE del mes anterior usando "calcular (suma (FTE), mes anterior (Mes del año)", pero fallé. esencialmente si puedo obtener el FTE del mes anterior, entonces el marcador sería una función if de: Si no se encuentra FTE mes anterior, marque como "Joiner", y si el mes anterior FTE es >0 y FTE no se encuentra, entonces marque como "Leaver".

Id. de empleadoFteMes del añoMes anterior FTEMarcador
10000112019 EneEnEn
1000020.72019 EneEnEn
1000030.82019 EneEnEn
10000412019 EneEnEn
10000512019 EneEnEn
10000112019 Feb1
1000020.72019 Feb0.7Licenciado
1000030.82019 Feb0.8
10000412019 Feb1
10000512019 Feb1
1000011Mar 20191
1000030.8Mar 20190.8
1000041Mar 20191
1000051Mar 20191
1000061Mar 20190Joiner
1 ACCEPTED SOLUTION
ryan_mayu
Super User
Super User

@JCasson

puede 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())))

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

7 REPLIES 7
ryan_mayu
Super User
Super User

@JCasson

puede 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())))

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




@ryan_mayu : "Me encontré con esta respuesta suya de 2020 y quería agradecerle ya que me enfrento a un problema similar y su solución es simplemente fantástica!

¿Podría preguntar si quería FTE del mes anterior para un nuevo miembro como BLANK ya que eso es más preciso, qué cambio debo hacer?

return if('Table'[Year Month]=mindate,blank(),if(ISBLANK(previous),0,previous))

Intenté reemplazar cero arriba con BLANK () pero eso está desordenado en la columna de ensambladores / salientes.

En segundo lugar, y lo que es más importante, ¿tiene sugerencias para modificar esto para que pueda tener en cuenta los escenarios en los que una persona se une en un mes y abandona antes del siguiente para que sea efectivamente un miembro y un abandonador en la columna del mes actual?

En cualquier caso, aprecia tu trabajo!!

¿Podría proporcionar el resultado esperado basado en los datos de muestra en la primera publicación?

Si los datos de muestra no son buenos, los pls proporcionan uno nuevo y también proporcionan su salida esperada.

Gracias por responder😀

He creado un nuevo conjunto de datos de ejemplo ya que el original no cubre este escenario.

ID de empleadoFTEFecha
12312023-01
23202023-01
3330.92023-01
12312023-02
55512023-02
23212023-02
44402023-02
12312023-03
23212023-03
44412023-03

Lo que es diferente en el conjunto de datos anterior del original de OP en la pregunta es la presencia de 555 que aparece solo durante un mes y, por lo tanto, es tanto un carpintero como un partidario.

Resultado resultante:

ID de empleadoFTEFechaAnterior EJCEbanista/Abandonador
12312023-01
23202023-01
3330.92023-01 Licenciado
12312023-021
55512023-02 Joiner+Leaver
23212023-020
44402023-02 Carpintero
12312023-031
23212023-031
44412023-030

Espero que esto tenga sentido. Mi punto es que con un conjunto de datos real podría haber un FTE que aparece solo por un mes y se va y es a la vez un joiner y leaver.

@zb134

Puedes probar esto

Column = 
var _min=min('Table'[Date])
var _max=max('Table'[Date])
var _last=maxx(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])&&'Table'[Date]EARLIER('Table'[Date])),'Table'[Date])
var _count=countx(FILTER('Table','Table'[Employee ID]=EARLIER('Table'[Employee ID])),'Table'[Employee ID])
return if('Table'[Date]<>_max&&'Table'[Date]<>_min&&_count=1,"joiner+leaver",if('Table'[Date]<>_max && ISBLANK(_next),"leave",if('Table'[Date]<>_min&&ISBLANK(_last),"joiner")))

1.PNG

Gracias esto es perfecto!

De nada

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.