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

商品分類項目に野球 テニス サッカー等の項目が15以上あります。
その各項目にウエア シューズ グッズ 構成比率とあります。
テーブルを作成するときに構成比率 ウエア シューズ グッズ 分類IDとフィールドを作成し、項目事に分類IDを振り分けました。

野球販売高を算出するには売上高*野球構成比/100*0.5と計算します。
クエリでこれらを計算するには抽出条件で15項目のファイルを作成する必要がありますよね
さらに計算する1項目につき1ファイル必要ですよね
算出するのは野球販売高だけではなく、テニス販売高、サッカー販売高
と項目事に必要です。

計算項目はこれ以外にも14あり、それらを上記の方法で算出するとファイル数が膨大になります。
Accessではクエリの数が数十個になるのは普通なのでしょうか?

A 回答 (2件)

クロス集計クエリを作れば良いのでは?


クロス集計クエリで商品分類毎の構成比の一覧を作成
行見出しに商品分類
列見出しに構成する内容
データを構成比率の合計で
商品分類_合計_ウエア_シューズ_グッズ
野球   100  30    20   50 
テニス  100  50    20   30
サッカー 100  30    50   40


と展開させて
商品分類 売上高
野球   100000
テニス  120000
サッカー  80000


のテーブルを使って、新たなクエリで
[売上高]*[ウェア],[売上高]*[シューズ],[売上高]*[グッズ]を計算

この回答への補足

多分質問内容を誤解されているのだと思いますが・・・
私も勘違いしていたことがあります。(15項目のファイルは必要ないかもしれません)

最終的なレポートとしては
野球 テニス サッカー
販売高 販売高 販売高



販売高合計 販売高合計 販売高合計

としたいのですが現状のクエリでは
分類名 販売高
野球


テニス


サッカー


別ファイル
分類 販売高合計
野球
テニス
サッカー
となっております。

(この算出内容にウエア シューズ グッズは関係ありません)
求めるレポート形式をつくりにはクエリを項目事に分割しないと
いけないと思うのですが・・・どうでしょうか?

以下がすべての項目の販売高を算出するクエリです。
・売上高が空白の場合は集計条件からはずしています。
・データレベルという項目が12の場合のみ抽出しています。

SELECT ■商品分類.分類名, ■調査データ2(商品分類).売上構成, ■調査データ2(商品分類).ウエア, ■調査データ2(商品分類).シューズ, ■調査データ2(商品分類).グッズ, ■調査データ(売上げ).前年度売上高, [前年度売上高]*[売上構成]/100+0.5 AS 販売高, ■店マスタ.データレベル
FROM ■店マスタ INNER JOIN (■商品分類 INNER JOIN (■調査データ2(商品分類) INNER JOIN ■調査データ(売上げ) ON ■調査データ2(商品分類).店コード = ■調査データ(売上げ).店コード) ON ■商品分類.分類ID = ■調査データ2(商品分類).分類ID) ON (■店マスタ.店コード = ■調査データ2(商品分類).店コード) AND (■店マスタ.店コード = ■調査データ(売上げ).店コード)
WHERE ((Not (■調査データ(売上げ).前年度売上高) Is Null) AND ((■店マスタ.データレベル)="12"));

販売高合計算出クエリ
SELECT ●販売高(すべて).分類名, Sum(●販売高(すべて).販売高) AS 販売高の合計
FROM ●販売高(すべて)
GROUP BY ●販売高(すべて).分類名;

補足日時:2008/03/07 11:54
    • good
    • 0

●質問にはテーブル等の具体例を挙げて質問すること


この質問は説明は長いが、詳細は判りにくい
●テーブル設計について適否の判断を仰ぐこと
 構成比率をテーブルに持つのは適当か。算出項目ではないのか。
●クロス集計クエリで解決できるか(#1のご回答)
●アクセスのピボットテーブルでできないか。(
クロス集計クエリと似ているが。
http://www.relief.jp/itnote/archives/000670.php
バージョン2002から、Accessでもピボットテーブルやピボットグラフが作れるようになりました。
詳細
http://homepage2.nifty.com/MrUr/katuyo/pvtsamp.htm
http://hamachan4.exblog.jp/4469219/
ほか多数
ーー
勝手にデータを作ってみた(実例を挙げてないので回答者に手数をかけることになるのだよ)
IDスポーツフィールド2フィールド3(=売上)
1野球ウエア20
2テニスウエア15
3野球シューズ10
4テニスウエア20
5サッカーウエア30
6テニスウエア5
7テニスシューズ15
8野球ウエア40
9サッカーグッズ25
10テニスグッズ20
11サッカーウエア10
12野球グッズ50
13テニスシューズ15
選択クエリ化する
IDスポーツフィールド2フィールド3
1野球ウエア20
2テニスウエア15
3野球シューズ10
4テニスウエア20
5サッカーウエア30
6テニスウエア5
7テニスシューズ15
8野球ウエア40
9サッカーグッズ25
10テニスグッズ20
11サッカーウエア10
12野球グッズ50
13テニスシューズ15
タイトルバーの右部で、右クリック
ピボットテーブルビュー
列・行にフィールドをD&D
真中のエリアにフィールド3をD&D
合計に加工して(やり方は
http://hamachan4.exblog.jp/4469219/
>集計フィールドを作成する場合は、の部分を参照)
    ウエア グッズ シューズ 総計
サッカー402565
テニス40203090
野球605010120
総計 140 95    40 275
ーー
こんなものと質問事項は大幅に違うのだろうか。質問の意味が良く取れなかった。

この回答への補足

質問内容の意味が分からなかったようですみませんでした。
私自身も今一理解してない部分がありまして困っています。
質問内容に関しては♯1の補足内容に書かせていただきました。

ピボットテーブルを使用すれば作成できそうですね。
回答ありがとうございました。

補足日時:2008/03/07 11:57
    • good
    • 0

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