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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Calcule los empleados activos con solo 1 columna de fecha

Hola

Estoy tratando de calcular el número total de empleados activos y el crecimiento interanual.

El desafío al que me enfrento es que mis datos no están comúnmente organizados, ya que estoy usando solo 1 columna de fecha.


Los datos se estructuran de la siguiente manera y se conectan a una tabla de dimensión de fecha denominada [DateDim]

Identificación del empleadoEstadoFecha de inicioAcción

1001

Activo2022-06-20Nueva contratación
1001

Activo

2023-10-27Excedencia
1001Activo2024-12-04Regreso al trabajo

1001

Terminado2025-01-13Terminación
1001Activo2022-06-05Volver a contratar
1002Activo2022-06-20Nueva contratación
1003Activo2025-02-10Nueva contratación
1004Activo2025-06-01Nueva contratación
1005Activo2022-05-20Nueva contratación
1005Activo2023-02-20Cambio de posición
1005Terminado2025-05-15Terminación

Gracias

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@PatLam0187

¿Se contarán 1001 y 1002 como activos para el año 2023 y más allá?

@ryan_mayu Sí, debería ser un conteo acumulativo. Digamos que estoy archivando a partir de hoy, los que estuvieron activos desde 2022 hasta el presente también deben contarse como activos. Espero que tenga sentido. Gracias.

Syndicate_Admin
Administrator
Administrator

Hola @PatLam0187 ,

Esto se puede lograr con 2 medidas.

La primera medida sería calcular el número total de empleados activos y sería así:

ActiveEmployees = 
VAR SelectedDate = MAX('DateDim'[Date])
VAR LatestActive =
    ADDCOLUMNS(
        SUMMARIZE(
            'EmployeeActions',
            'EmployeeActions'[EmployeeID],
            "LatestActionDate",
                CALCULATE(
                    MAX('EmployeeActions'[BeginDate]),
                    'EmployeeActions'[BeginDate]<=SelectedDate
                )
        ),
        "LatestActionStatus",
            CALCULATE(
                MAX('EmployeeActions'[Status]),
                FILTER(
                    'EmployeeActions',
                    'EmployeeActions'[EmployeeID]=EARLIER('EmployeeActions'[EmployeeID])
                    && 'EmployeeActions'[BeginDate]=EARLIER([LatestActionDate])
                )
            )
    )
RETURN
    COUNTROWS(
        FILTER(LatestActive,[LatestActionStatus]="Active")
    )


A continuación, podemos utilizar una segunda medida como la siguiente para calcular el crecimiento interanual:

ActiveEmployeesYoY = 
VAR CurrentDate = MAX('DateDim'[Date])
VAR PrevYearDate = EDATE(CurrentDate,-12)
VAR CurrentValue =
    CALCULATE([ActiveEmployees],'DateDim'[Date]=CurrentDate)
VAR PrevYearValue =
    CALCULATE([ActiveEmployees],'DateDim'[Date]=PrevYearDate)
RETURN
    DIVIDE(CurrentValue-PrevYearValue,PrevYearValue)

Si esto ayudó, márquelo como la solución para que otros también puedan beneficiarse. Y si lo encontró útil, siempre se agradecen las felicitaciones.

Gracias

Samson

Conéctate conmigo en LinkedIn (en inglés)

Echa un vistazo a mi Blog

¿Vas a asistir a la Conferencia Europea de la Comunidad Microsoft Fabric? Echa un vistazo a mi Sesión

Gracias, @SamsonTruong sin embargo, esto solo cuenta a aquellos que estaban activos hasta la fecha. También tengo que incluir a aquellos que estuvieron activos en las fechas anteriores. Digamos que alguien está activo en 2023, esa persona también debe incluirse en el conteo de hoy. Gracias de nuevo.

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors