Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Estoy luchando con esto. Tengo una segmentación de datos que estoy usando como fechas dinámicas para el período de inicio y el período final.
Tengo una tabla de calendario que puedo contar los días hábiles, soy capaz de contar el autobús. días usando los períodos de inicio y fin, PERO cuando alguien es contratado dentro de ese período de tiempo, sus días de autobús serán menores. Así, por ejemplo, cualquier persona contratada antes de mi período de inicio tendría un recuento de días hábiles de 245. Este cálculo debe basarse en la diferencia de la fecha de contratación y el período final.
Ejemplo - mis fechas de inicio y finalización son 3/1/19 a 2/28/20 (245 días de autobús, sacando vacaciones también)
Emp ID Fecha de contratación Sin días
1 2/1/18 245
2 2/1/20 20
3 5/15/97 245
La persona con el 20 días - Empleado No 2 es lo que no puedo averiguar.
Mi campo en la tabla es la fecha de contratación, y hay miles de personas por lo que las fechas no son únicas en la tabla.
Esta es mi calc para los días de trabajo para todos los contratados antes de mi fecha de inicio. El calc. a continuación funciona para el intervalo de fechas dinámico que se seleccionaría (en este caso 3/1/19 a 2/28/20).
Solved! Go to Solution.
Hola, @lasmithfla
Según su descripción, creé datos para reproducir su escenario. Mis días hábiles sólo excluyen los fines de semana.
Mesa:
Calendario:
Calendar = CALENDARAUTO()
Puede crear una columna calculada y una medida como se muestra a continuación.
Columna calculada:
IsWorkingDay á IF(WEEKDAY('Calendar'[Fecha]) en 1,2,3,4,5,1,0)
Medida:
CountWorkdays ?
var _hiredate á SELECTEDVALUE('Table'[Fecha de contratación])
var firstday ?
CALCULAR(
MIN('Calendario'[Fecha]),
ALLSELECTED('Calendario')
)
var lastday ?
CALCULAR(
MAX('Calendario'[Fecha]),
ALLSELECTED('Calendario')
)
var _re1 á
CALCULAR(
SUM('Calendar'[IsWorkingDay]),
FECHASENTRE(
'Calendario'[Fecha],
en el primer día,
último día
)
)
devolución
IF(
_hiredate<primer día,
_re1,
IF(
_hiredate>-firstday&&
_hiredate<-último día,
CALCULAR(
SUM('Calendar'[IsWorkingDay]),
FECHASENTRE(
'Calendario'[Fecha],
_hiredate,
último día
)
)
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @lasmithfla
Según su descripción, creé datos para reproducir su escenario. Mis días hábiles sólo excluyen los fines de semana.
Mesa:
Calendario:
Calendar = CALENDARAUTO()
Puede crear una columna calculada y una medida como se muestra a continuación.
Columna calculada:
IsWorkingDay á IF(WEEKDAY('Calendar'[Fecha]) en 1,2,3,4,5,1,0)
Medida:
CountWorkdays ?
var _hiredate á SELECTEDVALUE('Table'[Fecha de contratación])
var firstday ?
CALCULAR(
MIN('Calendario'[Fecha]),
ALLSELECTED('Calendario')
)
var lastday ?
CALCULAR(
MAX('Calendario'[Fecha]),
ALLSELECTED('Calendario')
)
var _re1 á
CALCULAR(
SUM('Calendar'[IsWorkingDay]),
FECHASENTRE(
'Calendario'[Fecha],
en el primer día,
último día
)
)
devolución
IF(
_hiredate<primer día,
_re1,
IF(
_hiredate>-firstday&&
_hiredate<-último día,
CALCULAR(
SUM('Calendar'[IsWorkingDay]),
FECHASENTRE(
'Calendario'[Fecha],
_hiredate,
último día
)
)
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¡Muchas gracias, trabajado perfecto! Hemos detectado un problema desconocido. Gracias por su tiempo.
@lasmithfla , Consulte mi blog de recursos humanos y el archivo diff de fecha. Compruebe la fórmula del día laborable
Comprobar - https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...
Archivo de día laborable -https://www.dropbox.com/s/y47ah38sr157l7t/Order_delivery_date_diff.pbix?dl=0