• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSのデータ横展開について)

ACCESSデータ横展開の方法とは?

このQ&Aのポイント
  • ACCESS2000で営業担当者の勤怠データを集計する方法について教えてください。
  • 営業担当者別に日別の訪問時間、移動時間、業務時間の合計値を出す方法を教えてください。
  • 訪問時間ごとにデータをフィールドとして作成し、合計値と明細データを1レコードにする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • psgrade
  • ベストアンサー率86% (19/22)
回答No.1

(1)とは別に、(2)のデータを作るためのクロス集計クエリーを作成し、二つを社員コード、日付でリンクし、それぞれをフィールドを結合させます。この時、クロス集計クエリーは、*で全フィールを追加します。これは、クロス集計で作成されるフィールドはその都度変化するので、フィールド名を特定できない事への対応です。 以下に具体的に書いてみます。 先ず(2)に必要なデータを求めるクエリーとして、社員コード、日付、訪問名:[区分] & ([Gコード]-1),業務時間: DateDeff("n",[開始時間],[終了時間])として、区分="訪問"だけを選択し、下記データのダイナセットを作成します。 社員コード| 日付 |訪問名|業務時間 ==================================== |1111111 |2013/10/01 |訪問1 | 20 |1111111 |2013/10/01 |訪問2 | 240 |2222222 |2013/10/01 |訪問1 | 60 |2222222 |2013/10/01 |訪問2 | 30 次にこのクエリーを元に、行見出し:社員コード、日付、列見出し:訪問名、集計値:業務時間としたクロス集計を行います。この結果として、下記データのダイナセットが作成されます。 社員コード| 日付 |訪問1|訪問2 ==================================== |1111111 |2013/10/01 |20 | 240 |2222222 |2013/10/01 |60 | 30 (1)の集計クエリーと上記クロス集計クエリーを社員コード、日付で連結し、(1)から社員コード、日付を除くフィールド、クロス集計からは*を使って全フィールドを追加、結合したクエリーを作成すれば、目的の結果が得られます。確認して下さい。社員フィールド、日付フィールドの位置が中程になってしまいますが、訪問数がその都度変化することに対応するとこうなります。不明点があれば補足ください。

nori-pharm
質問者

お礼

ご回答有難うございます。 お送り頂きました回答内容で正しく処理できる様になりました。 本当に有難うございました。

関連するQ&A