• ベストアンサー

AccessでクロスABC分析表を作りたい

Accessのクエリーで次のようなクロスABC分析表を作りたいのですが、行き詰まっています。 ・商品ごとに売上金額・売上数量・粗利金額にそれぞれ数値が入っています ・売上金額の降順に並べ替え、上位から順に累計し、それぞれ総合計に対する「累計構成比」を算出。 ・売上数量、粗利金額についても同様にそれぞれ降順ソートした状態での「累計構成比」を算出。 知識が乏しいもので、できればクエリーで作りたいのですが、どなたかご教授いただけると助かります よろしくお願いします。

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

  • ベストアンサー
noname#7099
noname#7099
回答No.2

私の場合は売上金額のABC分析だけ必要でしたので、レポートの詳細に並べてやっています。 構成比は =IIf(Sum([売上金額])=0,0,[売上金額]/Sum([売上金額])*100) 累計構成比は =IIf(Sum([売上金額])=0,0,[売上金額]/Sum([売上金額])*100) ただし、プロパティで集計実行を全体とすると、構成比を累計します。 ABCのランクは =IIf([累計]>75,IIf([累計]>80,"C","B"),"A") ヒントぐらいにはなるでしょうか。

noname#11057
質問者

お礼

matubokkuriさん、ありがとうございます。 やはり、レポートでやるしかないのでしょうか。 最終的にはExcelファイルにエクスポートする、マクロにしたいのです。

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

> 売上額 構成比 累計構成比 >商品A 300円 20.0% 20.0% >商品B 350円 23.3% 43.3% >商品C 400円 26.7% 70.0% >商品D 450円 30.0% 100.0% >------------------------- >合計 1500 100.0% レコード毎の累計はクエリでは出来ないので#2の方のようにレポートを構成比までの クエリで作成し構成比を集計するフィールドを作り、そのフィールドを百分率して 累計構成比を表示するようにし、そのレポートをExcelに出力するようにすれば良い のではないでしょうか。

noname#11057
質問者

お礼

O_cyanさん、何度もお時間をとらせてしまい、申し訳ございません。また、ありがとうございます。 やはりそれしかありませんね。レポートのエクスポートでやってみます。 本当にどうもありがとうございました。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

クエリを実行する際にトップ値に10を設定すれば上位~10位までになります。 SOLクエリであればSELECT TOP 10 ・・・で上位10位まで表示されます。

noname#11057
質問者

お礼

O_cyanさん、ありがとうございます。 私が作成したいイメージは 売上額 構成比 累計構成比 商品A 300円 20.0% 20.0% 商品B 350円 23.3% 43.3% 商品C 400円 26.7% 70.0% 商品D 450円 30.0% 100.0% --------------------------------------- 合計 1500 100.0% で、この「累計構成比」の部分を出したいのです。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>・売上金額の降順に並べ替え、上位から順に累計し、それぞれ総合計に対する >「累>計構成比」を算出。 クエリで作りたいのでしたら売上金額を降順にソートした集計クエリと別に全ての 売上金額を集計したクエリ(総合計のみ表示する集計クエリ)を作ります。 総合計のクエリを売上金額を降順にソートした集計クエリにテーブルの追加をし、 総合計クエリの総合計金額のフィールドをクエリに追加し「累計構成比」を演算 するフィールドを作り[売上金額の合計]/[総合計金額]*100の演算をさせ累計構成 比が求められます。 これが簡単な方法だと思いますが。

noname#11057
質問者

お礼

O_cyanさん、ありがとうございます。 ご教授いただいた方法ですと、全体の金額に対する「それぞれの金額」の構成比となってしまいます。 たとえば、上位から10番目の商品に表示する「累計構成比」は、 「上位1位~10位までの売上合計」/「全体の売上合計」というように算出したいのです。

関連するQ&A