Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Estoy teniendo un pequeño desafío contando el número correcto de días entre dos fechas.
Si utilizo la función DateDiff no tiene en cuenta el hecho de que hay días de fin de semana en el calendario.
Si uso la función Datesbetween para contar las filas de la tabla Date filtrando los días de fin de semana, solo funciona bien si la fecha de inicio es menor que la fecha de finalización.
Tengo una situación en la que la fecha de inicio puede ser posterior a la fecha supuestamente final (datos incorrectos, supongo).
¿Hay un trabajo para contar el número de días entre dos fechas (positivas o negativas) Y contar solo los días de la semana?
Solved! Go to Solution.
Hola, @sz
Debe crear una columna calculada Is_WorkDay 1 o 0 para indicar si se trata de un día laborable o no en la tabla de calendario.
Is_workday = IF( NOT WEEKDAY('Calendar'[Date],2) in {6,7},1,0)
Para evitar la situación en la que la fecha de inicio es mayor que la fecha de finalización, puede crear una columna calculada como se muestra a continuación en la tabla de hechos (aquí establecemos dos variables "max1" y "min1" para obtener la fecha en la tabla)
_Workdays =
VAR max1 =
MAX ( 'Table'[StartDate], 'Table'[EndDate] )
VAR min1 =
MIN ( 'Table'[StartDate], 'Table'[EndDate] )
RETURN
CALCULATE (
SUM ( 'Calendar'[Is_workday] ),
ALL ( 'Calendar' ),
DATESBETWEEN ( 'Calendar'[Date], min1, max1 )
)
Saludos
Equipo de soporte de la comunidad _ Eason
Hola, @sz
Debe crear una columna calculada Is_WorkDay 1 o 0 para indicar si se trata de un día laborable o no en la tabla de calendario.
Is_workday = IF( NOT WEEKDAY('Calendar'[Date],2) in {6,7},1,0)
Para evitar la situación en la que la fecha de inicio es mayor que la fecha de finalización, puede crear una columna calculada como se muestra a continuación en la tabla de hechos (aquí establecemos dos variables "max1" y "min1" para obtener la fecha en la tabla)
_Workdays =
VAR max1 =
MAX ( 'Table'[StartDate], 'Table'[EndDate] )
VAR min1 =
MIN ( 'Table'[StartDate], 'Table'[EndDate] )
RETURN
CALCULATE (
SUM ( 'Calendar'[Is_workday] ),
ALL ( 'Calendar' ),
DATESBETWEEN ( 'Calendar'[Date], min1, max1 )
)
Saludos
Equipo de soporte de la comunidad _ Eason
@sz , Compruebe la segunda página de diferencia de día de trabajo
https://www.dropbox.com/s/y47ah38sr157l7t/Order_delivery_date_diff.pbix?dl=0
@sz Por favor, eche un vistazo a este https://www.sqlbi.com/articles/counting-working-days-in-dax/
Espero que ayude.