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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Agregar filtro categórico a un DAX

Hola


Esta puede ser una pregunta básica, pero estoy un poco atrapado en ella.

Tengo una serie de dax escritos para encontrar una rotación de empleados.

Funciona con la siguiente fórmula.

Empleados dejados / (Empleado al comienzo del año + Emp al final del año)/2 * 100.

Simplemente funciona bien, excepto que en el dax que calcula "Empleados que se fueron", mira a todos los que se van, mientras que contra cada que se va, hay una columna llamada "ESTADO" que verifica por qué el empleado se fue. Podría ser la terminación, o la renuncia, o la jubilación.

Quiero agregar un filtro al dax que encuentra a los empleados que quedan solo contra "Renuncias"

Empleados que se fueron =

DÓNDE selectedDate = ÚLTIMA FECHA('Fecha'[Fecha])
DÓNDE selectedDate12MonthsBefore = PRÓXIMODÍA(MISMOPERIODLASTYEAR(selectedDate))

DEVOLUCIÓN
SUMX(NEW_Turnover_ADS,
SI(NEW_Turnover_ADS[LAST_WORKING_DATE]>=selectedDate12MonthsBefore && NEW_Turnover_ADS[LAST_WORKING_DATE]<=selectedDate, 1, 0)
)

Actualmente estoy usando este dax.

Intenté algo como sigue, pero no funciona.
👇

Empleados que abandonaron el filtro =

DÓNDE selectedDate = ÚLTIMA FECHA('Fecha'[Fecha])
DÓNDE selectedDate12MonthsBefore = PRÓXIMODÍA(MISMOPERIODLASTYEAR(selectedDate))

DEVOLUCIÓN
SUMX(FILTRO(NEW_Turnover_ADS, NEW_Turnover_ADS[HR_STATUS] = 'DIMISIÓN', NEW_Turnover_ADS,
SI(NEW_Turnover_ADS[LAST_WORKING_DATE]>=selectedDate12MonthsBefore && NEW_Turnover_ADS[LAST_WORKING_DATE]<=selectedDate, 1, 0)
) )))))

Cualquier ayuda en este sentido sería apreciada.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

¿@ranausman

¿Son correctos los valores devueltos de selectedDate12MonthsBefore y selectedDate? Si son correctos, pruebe esto

vxiaotang_0-1642384401447.png

Si esto no ayuda, por favor proporcione:

(1) un archivo de muestra,puede reemplazar los datos sin procesar con datos falsos para proteger su privacidad.

(2) o proporcionar algunos datos de muestra que cubran completamente su problema / pregunta

(3) dar su resultado esperado basado en la muestra que usted proporciona

Nota: Asegúrese de que los datos de la muestra sean concisos y representativos.

Gracias.

Saludos

Equipo de soporte de la comunidad _Tang

Si esta publicación ayuda,considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Anonymous ,

Por favor, pruebe esto: -

Employees who left =
VAR selectedDate =
    LASTDATE ( 'Date'[Date] )
VAR selectedDate12MonthsBefore =
    NEXTDAY ( SAMEPERIODLASTYEAR ( selectedDate ) )
RETURN
    SUMX (
        NEW_Turnover_ADS,
        IF (
            NEW_Turnover_ADS[HR_STATUS] = 'RESIGNATION',
            IF (
                NEW_Turnover_ADS[LAST_WORKING_DATE] >= selectedDate12MonthsBefore
                    && NEW_Turnover_ADS[LAST_WORKING_DATE] <= selectedDate,
                1,
                0
            ),
            0
        )
    )

Gracias

Samarth

Syndicate_Admin
Administrator
Administrator

@ranausman , Consulte este blog de recursos humanos.

https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

si tiene el año en contexto

Current Employees at the end of year = CALCULATE(COUNTx(FILTER(Employee,Employee[Start Date]<=max('Date'[Date]) && (ISBLANK(Employee[End Date]) || Employee[End Date]>max('Date'[Date]))),(Employee[Employee Id ])),CROSSFILTER(Employee[Start Date],'Date'[Date],None))

Current Employees at the start of year = CALCULATE(COUNTx(FILTER(Employee,Employee[Start Date]<Min('Date'[Date]) && (ISBLANK(Employee[End Date]) || Employee[End Date]>Min('Date'[Date]))),(Employee[Employee Id ])),CROSSFILTER(Employee[Start Date],'Date'[Date],None))

Hola Amit,

Gracias por la respuesta, consulté ese blog y quiero decir que todo está funcionando bien conmigo.

Mi pregunta es simplemente: ¿Cómo puedo agregar filtro a dax que escribí anteriormente?

Ver el dax que estoy tratando de escribir

DEVOLUCIÓN
SUMX(FILTRO(NEW_Turnover_ADS, NEW_Turnover_ADS[HR_STATUS] = «DIMISIÓN', NEW_Turnover_ADS,
SI(NEW_Turnover_ADS[LAST_WORKING_DATE]>=selectedDate12MonthsBefore && NEW_Turnover_ADS[LAST_WORKING_DATE]<=selectedDate, 1, 0)
) )))))

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors