irnm8dn
Actualmente estoy usando la siguiente función para el recuento de días:
Cuenta de días de caída = CAMBIAR (
CIERTO(),
‘KPI Dashboard AD'[Campaign Creation Date]<'Panel de control de KPI AD'[Start Date], DATEDIFF ('Panel de control de KPI AD'[Campaign Creation Date], 'Panel de control de KPI AD'[Start Date],DÍA),
‘KPI Dashboard AD'[Start Date]> ‘Panel de control de KPI AD'[Campaign Creation Date], DATEDIFF (‘Panel de control de KPI AD'[Start Date],[Days Between Drop Creation and Start],DÍA 1,
0
)
Ha surgido un caso de uso en el que me gustaría calcular los días hábiles entre la creación y la fecha de inicio, por lo que representará de manera más adecuada el «tiempo en proceso».
No estoy seguro de si será necesario modificar o adoptar un enfoque diferente para realizar la caluclación.
¡Gracias de antemano por la ayuda!
erik_tarnvik
En respuesta a irnm8dn
Lo intenté como una medida.
El culpable es esta declaración:
Business Day Value = if('Date'[DayOfWeek]="Monday"||
'Date'[DayOfWeek]="Tuesday"||
'Date'[DayOfWeek]="Wednesday"||
'Date'[DayOfWeek]="Thursday"||
'Date'[DayOfWeek]="Friday",
"1",
"0")
Esta declaración da como resultado una cadena de «1» o «0». Cambie esto a:
Business Day Value = if('Date'[DayOfWeek]="Monday"|| 'Date'[DayOfWeek]="Tuesday"|| 'Date'[DayOfWeek]="Wednesday"|| 'Date'[DayOfWeek]="Thursday"|| 'Date'[DayOfWeek]="Friday", 1, 0)
y asegúrese de que la columna Valor del día hábil en su tabla de calendario sea del tipo Número entero. Deberias hacer eso.
v-jiascu-msft
Hola @ irnm8dn,
¿Podría marcar la respuesta adecuada como solución o compartir la solución si es conveniente para usted? Eso será de gran ayuda para los demás.
¡Atentamente!
Valle
irnm8dn
En respuesta a v-jiascu-msft
Todavía no he obtenido una solución que funcione.
erik_tarnvik
Hola @ irnm8dn,
¿tienes una tabla de calendario en tu modelo? Si lo hace, cree una columna personalizada [Workday] en la tabla de calendario que contiene 1 para los días que son días laborables y 0 en caso contrario. Entonces cambia el [Day Count of Drop] para sumar los unos y los ceros entre las fechas, es decir, CALCULAR (SUMA (Fechas[Workday], FILTRO (Fechas, xxx[Creation Date] > = Fechas[Date] && xxx[Start Date]
irnm8dn
En respuesta a erik_tarnvik
@erik_tarnvik
Gracias. Creé una columna y usé la siguiente declaración:
Valor del día hábil = if (‘Fecha'[DayOfWeek]= «Lunes» || ‘Fecha'[DayOfWeek]= «Martes» || ‘Fecha'[DayOfWeek]= «Miércoles» || ‘Fecha'[DayOfWeek]= «Jueves» || ‘Fecha'[DayOfWeek]= «Viernes», «1», «0»)
Estoy un poco confuso en estas dos partes:
1. CALCULAR (SUMA (Fechas[Workday], FILTRO (Fechas, xxx[Creation Date] > = Fechas[Date] && xxx[Start Date]
una. Desglose esta declaración para que entienda las funciones
2. No estoy seguro de lo que quiere decir con necesitar una prueba y multiplicar por -1
¡Gracias!
¿Puedes ayudarme a entender con un poco más de detalle?
erik_tarnvik
En respuesta a irnm8dn
@ irnm8dn
¡Seguro! Creo que va en la dirección correcta, la columna Valor del día laborable es exactamente lo que tenía en mente.
Con respecto a sus dos preguntas, me refería a su estado de cuenta de Switch en el que desea dar cuenta del caso en el que desea un valor negativo como resultado, en ese caso, debe comparar las dos fechas para ver cuál es más pequeña que la otra y la cuenta. para eso. CALCULATE simplemente filtra la tabla del calendario para que contenga solo las fechas entre los límites y luego suma las fechas de trabajo. Vea a continuación un ejemplo, es posible que deba ajustar algo, no lo he probado, pero debería darle la idea correcta.
Day Count of Drop = IF('KPI Dashboard AD'[Campaign Creation Date]<'KPI Dashboard AD'[Start Date],
CALCULATE(Sum('Date'[Business Day Value]),
FILTER('Date', 'Date'[DateColumn] >= 'KPI Dashboard AD'[Campaign Creation Date] &&
'Date'[DateColumn] < 'KPI Dashboard AD'[Start Date])), CALCULATE(Sum('Date'[Business Day Value]),
FILTER('Date', 'Date'[DateColumn] <= 'KPI Dashboard AD'[Campaign Creation Date] &&
'Date'[DateColumn] > 'KPI Dashboard AD'[Start Date])) * -1 )
irnm8dn
En respuesta a erik_tarnvik
Esto está un poco fuera de mi alcance, ya que todavía soy un novato.
Creo que el único problema es el valye que debería estar en Date[Date Column] – ¿No estás seguro de qué debería ser esto?
Esta es mi declaración para mi tabla de fechas …
Fecha =
COLUMNAS (
CALENDARIO (FECHA (2000,1,1), FECHA (2025,12,31)),
«DateAsInteger», FORMAT ( [Date], «AAAAMMDD»),
«Año», AÑO ( [Date] ),
«Monthnumber», FORMAT ( [Date], «MM»),
«YearMonthnumber», FORMAT ( [Date], «AAAA / MM»),
«YearMonthShort», FORMAT ( [Date], «AAAA / mmm»),
«MonthShortYear», FORMAT ([Date], «mmm-AAAA»),
«MonthNameShort», FORMAT ( [Date], «mmm» ),
«MonthNameLong», FORMAT ( [Date], «mmmm»),
«DayOfWeekNumber», WEEKDAY ( [Date] ),
«DayOfWeek», FORMAT ( [Date], «dddd»),
«DayOfWeekShort», FORMAT ( [Date], «ddd»),
«Trimestre», «Q» y FORMATO ( [Date], «Q»),
«YearQuarter», FORMAT ( [Date], «YYYY») & «/ Q» & FORMAT ( [Date], «Q»),
«Número de semana», WEEKNUM ( [Date] ),
«Número de semana y año», «W» y WEEKNUM ( [Date] ) & » » & AÑO ( [Date] ),
«WeekYearNumber», YEAR ( [Date] ) Y 100 + SEMANAS ( [Date] )
)
¡Gracias de nuevo!
erik_tarnvik
En respuesta a irnm8dn
Usé DateColumn ya que no podía saber qué nombre había elegido para su columna de fecha en su calendario. Entonces, reemplace ‘Fecha'[DateColumn] con ‘Fecha'[Date].
irnm8dn
En respuesta a erik_tarnvik
@erik_tarnvik
Gracias por la ayuda continua … Este es el resultado más reciente.
Int ni funciona como medida o columna, no estoy seguro de quién debería ser.
¿Alguna sugerencia?
erik_tarnvik
En respuesta a irnm8dn
Lo intenté como una medida.
El culpable es esta declaración:
Business Day Value = if('Date'[DayOfWeek]="Monday"||
'Date'[DayOfWeek]="Tuesday"||
'Date'[DayOfWeek]="Wednesday"||
'Date'[DayOfWeek]="Thursday"||
'Date'[DayOfWeek]="Friday",
"1",
"0")
Esta declaración da como resultado una cadena de «1» o «0». Cambie esto a:
Business Day Value = if('Date'[DayOfWeek]="Monday"|| 'Date'[DayOfWeek]="Tuesday"|| 'Date'[DayOfWeek]="Wednesday"|| 'Date'[DayOfWeek]="Thursday"|| 'Date'[DayOfWeek]="Friday", 1, 0)
y asegúrese de que la columna Valor del día hábil en su tabla de calendario sea del tipo Número entero. Deberias hacer eso.
erik_tarnvik
En respuesta a erik_tarnvik
Debo mencionar también que podría usar la función DATESBETWEEN con su tabla de calendario para una solución más elegante, pero pensé que mi ejemplo sería más fácil de seguir. Ver
https://msdn.microsoft.com/en-us/library/ee634557.aspx
v-jiascu-msft
Hola @ irnm8dn,
Parece que lo usa como una columna calculada. Quizás puedas probarlo así:
Day Count of Drop = [Start Date] - [Campaign Creation Date]
¡Atentamente!
Valle
irnm8dn
En respuesta a v-jiascu-msft
@ v-jiascu-msft
Dale, gracias por el aporte. Dos preguntas:
1. Hay algunos casos en los que mi fecha de inicio es anterior a mi fecha de creación. Aunque se trata de un error, no estoy seguro de que la solución propuesta funcione. ¿Pensamientos?
2. ¿Cómo soluciona su solución mi necesidad del día laboral?
Gracias.