7

私は、小計を含む水平線以外のレポートではランク初心者です。車が駐車場で過ごした時間を含むデータセットがあります。特定の日の特定の時刻のエントリ数を示す、時間ごとの列と日ごとの行を示すテーブルを作成する必要があります。

これは、RDLC デザイナーの方が列状のグループ化で簡単に見つけられますが、Crystal ではそのようなものを見つけることさえできません。

ヘルプ。

4

2 に答える 2

4

次のフィールドを想定しています:{table.car_id}および{table.census_time}

  • 挿入を選択 | クロス集計...; レポート ヘッダー セクションにクロス集計を追加する

クロスタブを右クリックし、「クロスタブ エキスパート」を選択します。

  • {table.census_time]列フィールド リストに追加します。時間ごとにグループ化
  • {table.census_time}行フィールド リストに追加します。日ごとにグループ化
  • {table.car_id}概要フィールド リストに追加します。カウント

** 編集 **

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

ここに画像の説明を入力 [クロスタブ] タブを選択し、{table.census_time}フィールドを追加してから、[グループ オプション...] ボタンをクリックします。

ここに画像の説明を入力

「毎時」を選択します。ピックリストから。

于 2013-07-29T13:38:32.510 に答える
1

時間ごとのレコードを含むテーブルを作成する必要があります。

テーブル デイアワー

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

これにより、期間のすべてのレコードが返され、特定の時間枠内に車両が駐車場に入らなかった場合でもレコードが返されます。Period 列をクロスタブの列セクションにドラッグアンドドロップし、Day 列を Rows セクションにドラッグアンドドロップします。[値] 列を概要セクションにドラッグします。

于 2013-07-29T20:52:52.457 に答える