2013-07-16 23 views
6

私はすべての報告でランクnoobですが、小計のある水平線です。私は駐車場で車で過ごした時間を構成するデータセットを持っています。特定の日の特定の時間にエントリーの数を示す、各時間の列と各日の行を示す表を作成する必要があります。Visual Studio用のCrystal Reportsでピボットレポートを作成するにはどうすればよいですか?

RDLCデザイナーでは、これは柱状のグループ分けで簡単に見つかりますが、Crystalでもそのようなことは見つけられません。

ヘルプ。

+0

クロスタブを試しましたか? – craig

答えて

3

と仮定すると、次のフィールド:{table.car_id}{table.census_time}

  • 挿入選択|クロス集計...;するために、クロスタブレポートヘッダーセクション

を追加するには、右クロスタブをクリックし、[クロスタブエキスパート」を選択しました:

  • は、列フィールドリストに{table.census_time]を追加します。時間帯別グループ
  • を行フィールドリストに追加します。グループごとに
  • {table.car_id}をサマリーフィールドリストに追加します。カウント

**編集**

あなたは、日付/時刻フィールドから時間を抽出するために、特別な式を作成する必要はありません。クロスタブがそれを行います。

enter image description here [クロスタブ]タブを選択し、{table.census_time}フィールドを追加し、[グループオプション...]ボタンをクリックします。

enter image description here

'は、それぞれ時間。' 選択してくださいピックリストから。あなたは、各時間のレコードを持つテーブルを作成する必要が

+0

どうすればいいですか?時間ごとに列をグループ化しますか? 2番目のタブ、グループオプション、式をグループ名として使用していますか?そこでは、式「Hour({table.census_time})」を試してみると、「残りのテキストは数式の一部ではないようです」というエラーが表示されます。 – ProfK

1

表DayHour

Period    StartHour  EndHour 
00:00 - 01:00  0     1 
01:00 - 02:00  1     2 
02:00 - 03:00  2     3 
03:00 - 04:00  3     4 
... 
23:00 - 00:00  23    24 

その後、この表を使用してデータを結合

SELECT h.Period, DATEPART(dd,d.EntryTime) as Day, 1 as Value 
FROM DayHour h LEFT JOIN <YourData> d ON h.StartHour <=DATEPART(hh,d.EntryTime) and DATEPART(hh,d.EntryTime)<h.EndHour 

を残しこれは、すべて返されます特定の時間枠内に車両が駐車場に入ったことがない場合は、時間帯とともに記録し、記録さえも返します。 「期間」列を「十字」タブの列セクションにドラッグし、「日」列を「行」セクションにドラッグ・アンド・ドロップします。値の列を要約セクションにドラッグします。

関連する問題