アプリ版:「スタンプのみでお礼する」機能のリリースについて

access 2010 複数フィールドの集計について

access初心者なので教えて下さい。
車の整備をやっております。

1)テーブルの構成
テーブルは一つだけです。
主keyは修理受付番号です。
ただしリーレションはありません。

約150車種の車種フィールド、別フィールドに修理工程1〜10があり、約100種類の修理工程よりメカニックが選んだ最大10種類までの修理工程がテキスト型式にてテーブル化されている。

2)テーブルのイメージ
フィールド1 フィールド2 フィールド3...
車種 修理工程1 修理工程2...
フィット オイル交換 バッテリー交換
プリウス タイヤ交換 アルミ交換
ノート 板金塗装 ヘッドライト交換
エスティマ ワイパー交換 板金塗装
アクア オイル交換 タイヤ交換
フィット アルミ交換 バッテリー交換
ノート タイヤ交換 アルミ交換
ノート タイヤ交換 null

約10万行続く

3)得たい結果
フィットは2台でオイル交換1、バッテリー交換2、アルミ交換1。

ノートは3台で板金塗装1、ヘッドライト交換1、タイヤ交換2、アルミ交換1。

のように、車種が何で修理工程の何がいくつあったかを集計したいです。

4)エクセルにてピボットテーブルを組んだのですが、150車種及び100種類の修理工程から不規則に選ばれた、修理工程1から10が入っており、行側列側ともに大きく広がってしまい、集計内容が見づらくなってしまいます。

accessのクロス集計も指定出来る限度を超えてしまいます。

修理工程1から10までひとつのフィールドにし、他のフィールドは単純に同じものをコピーしカウントしたら、車種、修理工程以外のレコードが10倍になってしまいます。

5)テーブルは別システムからcsvで出力したものをaccessに取り込んだものです。

3)のような集計結果を出したい場合、どのようにしたら可能かお知恵を下さいますようお願い致します。

質問者からの補足コメント

  • お世話になります。ユニオンクエリ結果まで出ました。ありがとうございます。
    その後の手順のクロス集計にてクエリ1を選択しますと。

    選択したテーブルまたはクエリは、クロス集計クエリにデータを提供するためのフィールド数が足りません。数値型、日付型、テキスト型フィールドが最低でも3つあるテーブルまたはクエリを選択してください。

    作成したクエリ1がフィールドとして2つしかないからでしょうか?

    「access 2010 複数フィールドの」の補足画像1
      補足日時:2016/07/03 07:09

A 回答 (2件)

ユニオンクエリで 横方向のデータを縦に変換したものをクロス集計します。


「access 横 縦」でググってみてください。

元テーブルを「テーブル1」と仮定します。

SELECT 車種, 修理工程1 AS 修理工程
FROM テーブル1
WHERE 修理工程1 Is Not Null
Union All
SELECT 車種, 修理工程2 AS 修理工程
FROM テーブル1
WHERE 修理工程2 Is Not Null
Union All
SELECT 車種, 修理工程3 AS 修理工程
FROM テーブル1
WHERE 修理工程3 Is Not Null
  ・・・・・

データとしては必要ありませんが、
[修理受付番号] も加えた方が、デバッグし易いですね。

上記クエリを「クエリ1」として
それを元にクロス集計します。

添付図を参照のこと。

右端のフィールドは
台数: First(DCount("*","テーブル1","車種='" & [車種] & "'"))
です。

テーブル名、クエリ名は 、実際の 名前に修正してください。
「access 2010 複数フィールドの」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答下さり、ありがとうございます!引き続き初心者の質問となってしまうのですが、クエリ1を作る際に、元テーブル1から選択フィールドを車種、修理工程1〜10を選択するのでしょうか?ご記載頂いたSELECT文はクエリ画面の抽出条件: 欄に修理工程1から10全てのフィールドに水平に同じ言葉を書けば良いのでしょうか?
すいません、画面コピーと命令文までご記載下さりありがとうございます。

お礼日時:2016/07/02 18:32

あ、そこからですか ^^;



ユニオンクエリは「デザインビュー」では作れません。
「SQLビュー」 に切り替えてズラズラっと入力してください。

実際には 「メモ帳」などで1つ分作り、数字の部分を変えながら
「SQLビュー」にコピペしていくのが簡単でしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。大変失礼しました、超のつく初心者です。デザインビューではないのですね、でも教えて下さりありがとうございます。やってみます。何度もありがとうございます。

お礼日時:2016/07/02 19:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!