- ベストアンサー
AccessでクロスABC分析表を作りたい
Accessのクエリーで次のようなクロスABC分析表を作りたいのですが、行き詰まっています。 ・商品ごとに売上金額・売上数量・粗利金額にそれぞれ数値が入っています ・売上金額の降順に並べ替え、上位から順に累計し、それぞれ総合計に対する「累計構成比」を算出。 ・売上数量、粗利金額についても同様にそれぞれ降順ソートした状態での「累計構成比」を算出。 知識が乏しいもので、できればクエリーで作りたいのですが、どなたかご教授いただけると助かります よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
私の場合は売上金額のABC分析だけ必要でしたので、レポートの詳細に並べてやっています。 構成比は =IIf(Sum([売上金額])=0,0,[売上金額]/Sum([売上金額])*100) 累計構成比は =IIf(Sum([売上金額])=0,0,[売上金額]/Sum([売上金額])*100) ただし、プロパティで集計実行を全体とすると、構成比を累計します。 ABCのランクは =IIf([累計]>75,IIf([累計]>80,"C","B"),"A") ヒントぐらいにはなるでしょうか。
その他の回答 (3)
- O_cyan
- ベストアンサー率59% (745/1260)
> 売上額 構成比 累計構成比 >商品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に出力するようにすれば良い のではないでしょうか。
お礼
O_cyanさん、何度もお時間をとらせてしまい、申し訳ございません。また、ありがとうございます。 やはりそれしかありませんね。レポートのエクスポートでやってみます。 本当にどうもありがとうございました。
- O_cyan
- ベストアンサー率59% (745/1260)
クエリを実行する際にトップ値に10を設定すれば上位~10位までになります。 SOLクエリであればSELECT TOP 10 ・・・で上位10位まで表示されます。
お礼
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)
>・売上金額の降順に並べ替え、上位から順に累計し、それぞれ総合計に対する >「累>計構成比」を算出。 クエリで作りたいのでしたら売上金額を降順にソートした集計クエリと別に全ての 売上金額を集計したクエリ(総合計のみ表示する集計クエリ)を作ります。 総合計のクエリを売上金額を降順にソートした集計クエリにテーブルの追加をし、 総合計クエリの総合計金額のフィールドをクエリに追加し「累計構成比」を演算 するフィールドを作り[売上金額の合計]/[総合計金額]*100の演算をさせ累計構成 比が求められます。 これが簡単な方法だと思いますが。
お礼
O_cyanさん、ありがとうございます。 ご教授いただいた方法ですと、全体の金額に対する「それぞれの金額」の構成比となってしまいます。 たとえば、上位から10番目の商品に表示する「累計構成比」は、 「上位1位~10位までの売上合計」/「全体の売上合計」というように算出したいのです。
お礼
matubokkuriさん、ありがとうございます。 やはり、レポートでやるしかないのでしょうか。 最終的にはExcelファイルにエクスポートする、マクロにしたいのです。