1

レポートビルダー3.0でレポートを作成しようとしています。このレポートは、月曜日から始まる営業週ごとに、その週の各日の日付を列ヘッダーに入力します。次に、レポートは、特定の行エントリの[受信日]フィールドにそれらの日付が表示されるたびにカウントを実行します(下の図1を参照)。

レポートビルダーでフィルターまたはパラメーターを作成して、レポートが毎日実行されている場合でも、指定された現在の週の日付のみを表示し、それでもカウントを実行できるようにする方法を考えています。

図1:マトリックスモックアップ(日付は今週のもの) ここに画像の説明を入力してください

以前は、このコードを使用してテーブルの列を取得し、次の5営業日を表示していました(その週の営業日が必要なため、ここでは機能しません)。

=IIF(6 - WeekDay(Today()) - X < 0, DateAdd("d", X + 2, Today()), 
DateAdd("d", X, Today()))
4

3 に答える 3

0

最も簡単な方法は、SQL に面倒な作業を任せて、レポート作成に最も便利な方法でデータを準備することです。そのため、今週の営業日に関連するすべてのデータを取得する必要があります。つまり、今週の月曜日から今週の金曜日までのすべてのデータです。

SELECT PersonId, SomeDate
FROM MyTable
WHERE SomeDate >= DateAdd('d', 0 - (WeekDay(Today())-2), Today())  // Monday
AND SomeDate <=  DateAdd('d', 0 - (WeekDay(Today())-6), Today())  // Friday

次に、これをマトリックスにフィードし、人物と日付でグループ化するだけで準備完了です。

于 2012-12-14T00:03:51.660 に答える
0

利用可能なツールはありませんが、データセットまたはテーブルにフィルターを追加すると、本質的に次のようになります。

X > today() - day of the week --this will get the date for the sunday

X < today() + (6 - day of the week) --this will get the date for saturaday

これにより、データが月曜日から金曜日の間にあることが保証されます。

于 2012-12-16T01:15:26.857 に答える