Accessでお仕事 ウィザードを使用してクロス集計クエリを作成する

ウィザードを使用して
クロス集計クエリを作成する





 大量のデータを可視化する目的で、「クロス集計(ピボットテーブル)」は、強力なツールです。
  Access を使えば、簡単に「クロス集計」表を作れます。是非お試し下さい。

 関連:hatena chips (MS Access Tips/Sample and FC2Blog customize and etc...
列数が変化するクロス集計クエリと連結するフォーム
http://hatenachips.blog34.fc2.com/blog-entry-142.html
列名が変化するクロス集計クエリと連結するフォーム
http://hatenachips.blog34.fc2.com/blog-entry-117.html

クロス集計クエリ ウィザードの使い方

  1. データベース ウィンドウで [オブジェクト] の (クエリ) をクリックし、データベース ウィンドウのツールバーの [新規作成] をクリックします。
     もしくは、メニューの「挿入」→「クエリー」で、「クロス集計クエリーウィザード」を選択します。

  2. [クエリの新規作成] ダイアログ ボックスの [クロス集計クエリ ウィザード] をクリックします。
  3. [OK] をクリックします。

  4. 「クロス集計クエリウィザード」の小窓が表示されます。
     画面に表示される指示に従って操作します。
     この例では、クロス集計を行うフィールドがあるテーブルとして、「Order」を選択します。
     以下表示するフィールドを指定してゆきます。行見出し(縦軸)には、複数のフィールドを組み合わせて指定することができます。



    ウィザードの最後の画面では、クエリを実行するか、その構造をクエリのデザイン ビューで表示するか選択できます。

    作成されたクエリが目的のものと違う場合は、再度クエリ ウィザードを実行するか、デザイン ビューでクエリを変更できます。クエリをデザイン ビューで変更する方法の詳細については、 をクリックしてください。

 デザイン ビューで表示してみると、下のようになっています。

 Access では、計算をしながら、クロス集計することもできます。
 集計項目を、[単価]*[数量]の「金額」に、デザイン ビューで修正します。「集計:」の部分は、「演算」を選択します。空白の欄で、エラーにならないように、「IIf 関数」を使います。
 結果を表示してみましょう。

 SQL ビューで確認すると、項目を単純集計する場合と、演算結果を集計する場合の違いが、よく分かります。

  1. 既存の項目「数量」で集計する場合:
    TRANSFORM Sum(Order.数量) AS
    SELECT Order.得意先, Sum(Order.数量) AS [集計値: 数量]
    FROM [Order]
    GROUP BY Order.得意先
    PIVOT Order.商品;
  2. 演算結果 [単価]*[数量] で集計する場合:
    TRANSFORM IIf(Sum([単価]*[数量]) Is Not Null,CCur(Sum([単価]*[数量]))) AS 金額
    SELECT Order.得意先, Sum([金額]) AS [集計値: 金額]
    FROM [Order]
    GROUP BY Order.得意先
    PIVOT Order.商品;

IIf 関数
式の評価結果によって、2 つの引数のうち 1 つを返します。
構文:IIf(expr, truepart, falsepart)
指定項目内容
expr必ず指定します。評価対象の式を指定します。
truepart必ず指定します。名前付き引数 expr が真 (True) の場合に返す値または式を指定します。
falsepart必ず指定します。名前付き引数 expr が偽 (False) の場合に返す値または式を指定します。

解説:
 IIf 関数では、名前付き引数 truepart または名前付き引数 falsepart のいずれか一方だけが返されますが、評価は両方の引数に対して行われます。このため、IIf 関数を使うと、予期しない結果が起きることがあります。たとえば、名前付き引数 falsepart を評価した結果 0 による除算エラーが発生する場合は、名前付き引数 expr が真 (True) であってもエラーが発生します。


★クエリのデータシート内のデータを操作する方法★

★クエリをカスタマイズする方法★


クエリに関する問題については、 をクリックしてください。


ヒント   フォームのピボット テーブル ウィザードを使用するか、データ アクセス ページのピボットテーブル リストを使用すると、データベースで別のクエリを作成しなくてもクロス集計データを表示できます。ピボットテーブル フォームまたはピボットテーブル リストを使用すると、Excelの画面で、行見出しや列見出しを必要に応じて切り替え、データの表示方法を変更して分析できます。ピボットテーブル フォームの作成については、 をクリックしてください。

データ アクセス ページのピボットテーブル リストの作成については、 をクリックしてください。


Excel のピボットテーブルの使い方

 Excelでは、ピボットテーブルを使って、クロス集計します。

 対象範囲を選択して、「データ」→「ピボットテーブル」として選択して、ウィザードを起動します。

 クロス集計したい項目を、右の項目一覧からマウス左クリックで選択して、ドラッグして、「行」と「列」の項目欄に、それぞれ持っていって、マウスの指を離してドロップします。

 実行すると、集計結果が表示されます。


注:
 Excelのピボットテーブルで、表の行数(件数)を集計したい場合は、「行・列」どちらかの項目を、「データ」の部分にもドロップします。

Excel でクロス集計したデータの加工

 一般に、クロス集計をすると、データは集約されて、原始データと比較してコンパクトになるので、Excelで簡単に加工できます。
 例えば、レコード毎に、単価×数量で金額を出しておいて、この金額をクロス集計すると、下のようになります。

そして、縦横それぞれの合計覧の一つをマウスで左クリックして、メニューの「データ」→「並べ替え」とすると、次の小さい画面が出ます。

ここで「OK」とすると、商品、得意先の攻略の優先順位が、簡単に判読できます。


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る