У меня есть следующая таблица заработной платы в отчете SSRS 2008 (R2):
Набор данных возвращает трудовые транзакции, состоящие из следующих полей:
STARTDATE
STARTTIME
FINISHDATE
FINISHTIME
REGULARHRS (difference between finish and start)
REFWO (such as "Travel", "Holiday", "Work", etc and is used to sort into the categories shown in the table above)
TIMEWORKED (0/1 flag that indicates whether or not it counts towards "Time Worked" category)
У меня есть столбец, сгруппированный по STARTDATE, чтобы он отображал каждый день недели (наши недели проходят с понедельника по воскресенье). Все, вплоть до «Неоплачиваемый отпуск», представляет собой простое выражение (обычно просто в формате Sum(IIF(something,A,B)
) как в ежедневном столбце, так и в еженедельном (Итоги) столбце. В поле «Промежуточный регулярный» (для группировки дней) у меня есть следующее выражение:
=IIF(Weekday(Fields!startdate.Value)=1
OR Weekday(Fields!startdate.Value)=7
OR ReportItems!Holiday.Value>0,
0,
ReportItems!TimeWorked.Value-ReportItems!Holiday.Value-ReportItems!Bereave.Value)
По сути, я говорю: если ДАТА НАЧАЛА приходится на субботу, воскресенье или праздничный день, обычные часы будут равны 0, поскольку они попадут в ОТ1.5 (сверхурочные, полтора времени), в противном случае я рассчитываю обычные отработанные часы. путем вычитания времени отпуска и времени утраты из отработанного времени (поскольку оба они включены в отработанное время). Эта часть работает отлично!! Но когда я пытаюсь подвести итоги за неделю, используя =Sum(ReportItems!InterimRegularDaily.Value)
, он говорит мне, что я не могу использовать агрегат для элемента отчета и что агрегатные функции можно использовать только для элементов отчета, содержащихся в верхних и нижних колонтитулах страницы. Я сделал обширный поиск в Google, чтобы узнать, есть ли решение, но, похоже, все связано с написанием пользовательских функций. Я не могу поверить, что было бы НАСТОЛЬКО сложно просто суммировать групповой расчет во внешней группе!
Любая помощь будет принята с благодарностью!!
Спасибо!