Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


196 / 2272 ツリー ←次へ | 前へ→

【12589】累積構成比の算出方法について教えてください kai 14/7/28(月) 20:11 質問[未読]
【12590】Re:累積構成比の算出方法について教えてく... 独覚 14/7/29(火) 10:55 発言[未読]
【12591】Re:累積構成比の算出方法について教えてく... kai 14/7/29(火) 13:40 質問[未読]
【12592】Re:累積構成比の算出方法について教えてく... 独覚 14/7/29(火) 15:26 回答[未読]
【12593】Re:累積構成比の算出方法について教えてく... kai 14/7/30(水) 10:50 お礼[未読]

【12589】累積構成比の算出方法について教えてくだ...
質問  kai  - 14/7/28(月) 20:11 -

引用なし
パスワード
   下記のような構成のテーブルがあります。
大分類、中分類、品目、商品名はいずれも文字列で、
構成比は大分類×中分類×品目内における各商品の金額構成比です。

このテーブルに、大分類×中分類×品目内での累積構成比を追加したいのですが
Accessで作成することは可能でしょうか。
可能であればどのような方法がありますでしょうか。

お手数をおかけして恐縮ですが、ご教授いただけると幸いです。
宜しくお願い致します。


■現在のテーブルA
 大分類 中分類 品目  商品  金額  構成比 
 ○   AAA   XXX  111  \2000  50%   
 ○   AAA   XXX  112  \2000  50%
 --------------------------------------------------   
 △   BBB   YYY  111  \1000  20%  
 △   BBB   YYY  112  \1500  30%  
 △   BBB   YYY  114  \2500  50% 
 --------------------------------------------------  
 △   AAA   ZZZ  115  \5500  100%     


■作成したいテーブルイメージ
 大分類 中分類 品目  商品  金額  構成比 累積構成比
 ○   AAA   XXX  111  \2000  50%  50%
 ○   AAA   XXX  112  \2000  50%  100%
 --------------------------------------------------   
 △   BBB   YYY  111  \1000  20%  20%
 △   BBB   YYY  112  \1500  30%  50%
 △   BBB   YYY  114  \2500  50%  100% 
 --------------------------------------------------  
 △   AAA   ZZZ  115  \5500  100%  100%

【12590】Re:累積構成比の算出方法について教えて...
発言  独覚  - 14/7/29(火) 10:55 -

引用なし
パスワード
   ▼kai さん:
テーブルAをもとにしたクエリを作成し、大分類、中分類、品目、 商品を昇順に並べ替え、
計算フィールドとして
累計構成比: Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' and 商品 < '" & [商品] & "'"))+[構成比]
というフィールドを追加してそのフィールドのプロパティで書式を設定してはどうでしょうか?

なお、最初は
累計構成比: DSum("構成比","テスト1","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' and 商品 <= '" & [商品] & "'")
としていたのですがなぜか書式を設定できないため最初の式となりました。

【12591】Re:累積構成比の算出方法について教えて...
質問  kai  - 14/7/29(火) 13:40 -

引用なし
パスワード
   ▼独覚 さん:
早々にご回答いただき誠にありがとうございます。
いただいた内容を追加したところうまくいきました!

五月雨の質問となり申し訳ないのですが、
大分類、中分類、品目は昇順で並べ替え、金額を降順で並べ替えた場合の
累積構成比を算出したく思います。

いただいた式を手直しして、下記のような式を作成したのですが、上手く累積構成比が算出できません。
なにかいい方法はありますでしょうか。
ご教授いただけますと幸いです。

↓手直しした式
Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "'" And "金額>""[金額]"))+[構成比]

■イメージ(真ん中部分のところが変更したい箇所になります)

 大分類 中分類 品目  商品  金額  構成比 累積構成比
 ○   AAA   XXX  111  \2000  50%  50%
 ○   AAA   XXX  112  \2000  50%  100%
 --------------------------------------------------   
 △   BBB   YYY  114  \2500  50%  50% 
 △   BBB   YYY  112  \1500  30%  80%
 △   BBB   YYY  111  \1000  20%  100%
 --------------------------------------------------  
 △   AAA   ZZZ  115  \5500  100%  100%

【12592】Re:累積構成比の算出方法について教えて...
回答  独覚  - 14/7/29(火) 15:26 -

引用なし
パスワード
   ▼kai さん:
たぶんなさりたいことは
Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 > " & [金額]))+[構成比]
だと思いますがこれだと例の大分類が「◯」の場合のように商品以外が同じ(金額も同じ)
場合に両方とも「50%」になってしまいます。

それの対策も入れてみたものが
Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 > " & [金額]))+Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 = " & [金額] & " and 商品 < '" & [商品] & "'"))+[構成比]
になります。

一応「大分類 中分類 品目  商品」がキーでこれが同じレコードはないものとしています。

もう少し短くなる方法があるかもしれませんが私にはこれが精いっぱいでした。

【12593】Re:累積構成比の算出方法について教えて...
お礼  kai  - 14/7/30(水) 10:50 -

引用なし
パスワード
   ▼独覚 さん:
早々にご返信いただきありがとうございます!
いただいた式を若干手直ししたら、想定通りの値を出力することができました。

Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 > " & [金額]))+Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' and 商品 < '" & [商品] & "' And 金額 = " & [金額]))+[構成比]

ここのところこの処理でずっと悩んでいたので助かりました。
本当にありがとうございました。

196 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free