#46 | 総売上に占める商品別売上比率を集計する | ||
この集計を行うためには、商品ごとの売上金額と、全商品の売上合計金額をまず求める必要があります。 商品ごとの売上金額はすでにやっているとおり、"売上金額: Sum([数量]*[販売単価])"という演算フィールドを使った集計クエリで求めることができます。 一方、全商品の売上合計金額は、それだけを求める単独のクエリとして作る場合なら、『"グループ化"するフィールドを設けずに([数量]*[販売単価])の"合計"を集計』すれば求めることができます。しかしここでは、1つのクエリの中で商品ごとの売上金額と総売上金額が必要となりますので、そのような方法は使えません。そこで、次のような式をグリッドに入力します。 総売上金額: (SELECT Sum([数量]*[販売単価]) AS 総売上金額 FROM tbl売上伝票明細 INNER JOIN mtbl商品マスタ ON tbl売上伝票明細.商品コード = mtbl商品マスタ.商品コード) このように、クエリの演算フィールドとして"SELECT"で始まるSQL文を埋め込む方法を「サブクエリ」と呼びます。このサブクエリは、"グループ化"するフィールドなしに、全商品の売上合計金額を求めるクエリに相当します。 あとは、商品別の「売上金額」を「総売上金額」で割れば、商品別の売上比率を集計することができます。 SELECT tbl売上伝票明細.商品コード, mtbl商品マスタ.商品名, Sum([数量]*[販売単価])
AS 売上金額, (SELECT Sum([数量]*[販売単価]) AS 総売上金額 FROM tbl売上伝票明細
INNER JOIN mtbl商品マスタ ON tbl売上伝票明細.商品コード = mtbl商品マスタ.商品コード)
AS 総売上金額, [売上金額]/[総売上金額]*100 AS 売上比率
FROM tbl売上伝票明細 INNER JOIN mtbl商品マスタ ON tbl売上伝票明細.商品コード = mtbl商品マスタ.商品コード GROUP BY tbl売上伝票明細.商品コード, mtbl商品マスタ.商品名; |
|||
|
Copyright © T'sWare All rights reserved |