Как я могу предотвратить наложение рабочих дней на разные заявления? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть запрос с кодом 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 конге

...