1

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)

基本的に私が言っていることは: STARTDATE が土曜日、日曜日、または休日の場合、OT1.5 (残業、時間半) に分類されるため、通常の時間は 0 になります。それ以外の場合は、通常の勤務時間を計算します労働時間から休日時間と死別時間を差し引くことにより(両方とも労働時間の一部として含まれるため)。この部分が大活躍!! しかし、週の合計を合計しようとすると=Sum(ReportItems!InterimRegularDaily.Value)、レポート アイテムでは集計を使用できず、集計関数はページ ヘッダーとフッターに含まれるレポート アイテムでのみ使用できることがわかります。解決策があるかどうかを調べるために大規模なグーグル検索を行いましたが、すべてカスタム関数の作成が必要なようです。外側のグループでグループ計算を単純に合計するのがそれほど難しいとは信じられません!

どんな助けでも大歓迎です!!

ありがとう!

4

1 に答える 1