Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola a todos
Estoy estrangulando con una fórmula DAX para calcular el valor de horas entre fechas en combinación con el valor de horas de una fecha de inicio.
Tengo dos tablas:
1. Horarios con columnas para la fecha de inicio y la fecha de finalización, ID de programación y horas promedio (por semana en realidad), denominadas "Programaciones". Así:
AverageHours | Enddate | Id | StartDate |
40 | 1001 | 01-12-2019 | |
40 | 31-05-2020 | 1002 | 01-06-2019 |
36 | 1003 | 01-05-2020 |
2. Y tengo una mesa con fechas, construir así, llamado 'SchedulesCalendar':
Id | 201906 | 201907 | 201908 | 201909 | 201910 | 201911 | 201912 | 202001 | 202002 | 202003 | 202004 | 202005 | 202006 | 202007 | Etcétera |
1001 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | |||||||
1002 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | |||
1003 | 36 | 36 | 36 |
Tengo la siguiente medida:
Solved! Go to Solution.
Hola @AltusTellus ,
Acabo de usar la medida que usted hizo, usted está sumando valores, dependiendo de los valores que tiene y el número de líneas que puede cambiar la SUMA para MIN, MAX o PROMEDIO.
Usando el MIN está dando el resultado correcto:
WorkingHours_v2 =
VAR MinDate = MIN( 'tb_SchedulesCalendar'[Date] )
VAR MaxDate = MAX( 'tb_SchedulesCalendar'[Date] )
RETURN CALCULATE(MIN('tb_Schedules'[AverageHours]),
FILTER(
tb_Schedules,
tb_Schedules[StartDate] <= MaxDate
&& tb_Schedules[EndDate] >= MinDate || tb_Schedules[StartDate] <= MaxDate
)
)
Consulte Adjuntar archivo PBIX.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHola @AltusTellus ,
SImply añadir el parímetro OR (o . . . . . . . . . . . . . . . . . . . . . . . . . . . . ) con sólo la fecha de inicio:
WorkingHours_v2 =
VAR MinDate =
MIN ( 'tb_SchedulesCalendar'[Date] )
VAR MaxDate =
MAX ( 'tb_SchedulesCalendar'[Date] )
RETURN
CALCULATE (
SUM ( 'tb_Schedules'[AverageHours] );
FILTER (
tb_Schedules;
tb_Schedules[StartDate] <= MaxDate
&& tb_Schedules[EndDate] >= MinDate
|| tb_Schedules[StartDate] <= MaxDate
)
)
Comprobar conexión PBIX
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHola @MFelix ,
Thnx para su respuesta, pero tengo otro problema después de usar la función OR como usted describió. El resultado es que un cronograma siguiente (por ejemplo, el mismo ID tiene un folower al principio de enero pero con 36 como número foor [AverageHours), cuenta el original [AvarageHours] con la programación de seguidores. Así:
Id | 201910 | 201911 | 201912 | 202001 |
1002 | 40 | 40 | 40 | 76 |
Esto significa que en la matriz el resultado no es así:
Id | 201910 | 201911 | 201912 | 202001 |
1002 | 40 | 40 | 40 | 36 |
¿Tiene una solución para este problema? Muchas gracias de nuevo.
Hola @AltusTellus ,
Acabo de usar la medida que usted hizo, usted está sumando valores, dependiendo de los valores que tiene y el número de líneas que puede cambiar la SUMA para MIN, MAX o PROMEDIO.
Usando el MIN está dando el resultado correcto:
WorkingHours_v2 =
VAR MinDate = MIN( 'tb_SchedulesCalendar'[Date] )
VAR MaxDate = MAX( 'tb_SchedulesCalendar'[Date] )
RETURN CALCULATE(MIN('tb_Schedules'[AverageHours]),
FILTER(
tb_Schedules,
tb_Schedules[StartDate] <= MaxDate
&& tb_Schedules[EndDate] >= MinDate || tb_Schedules[StartDate] <= MaxDate
)
)
Consulte Adjuntar archivo PBIX.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em Português