У меня есть запрос с кодом SQL, который вычисляет рабочие дни для каждого из этих действий: Interstaff
, Mission
, Congés
с использованием определенной функции VBA.
При наличии двух (илидалее) действия в тот же период, есть наложение, так как для каждого действия он составляет 1 день, я хочу, чтобы функция «Сумма» игнорировала этот день и переходила к следующему.
Я хотел бы изменить свойSQL-код для добавления этого условия:
При вычислении миссии ИЛИ Interstaff: если в том же периоде есть конге, игнорируйте этот день (или удалите -1 в этот день) и дайте ему приоритет только для его подсчета вcongés
Я читал, что есть условия SWITCH или вложенного IIF, но я не мог перевести это в свой фактический код ...
Пожалуйста, учтите, что я все еще начинающий,на пути к обучению!
Я использую несколько операторов IIf и SWITCH
SELECT
Z.Planning_Consultants.ID_Consultant,
Sum(IIf([Activité]="(2) Interstaff",WorkingDaysInDateRange([maxBegin],[minEnd])*Planning_Consultants.Time_Allocated,0)) AS NonBillable,
Sum(IIf([Activité]="(1) Mission",WorkingDaysInDateRange([maxBegin],[minEnd])*Planning_Consultants.Time_Allocated,0)) AS Billable,
Sum(IIf([Activité]="(3) Congés/Arrêt",WorkingDaysInDateRange([maxBegin],[minEnd])*Planning_Consultants.Time_Allocated,0)) AS Absent,
Вот пример набора данных:
Activity BegDate EndDate Time_Allocated
(1)Mission 01/01/2019 31/12/2019 100%
(3)congé 02/04/2019 05/04/2019 100%
Например, для апреля яхотел бы иметь 18 рабочихг дней и 4 конге вместо 22 рабочих дней и 4 конге