#65 購入金額に応じて顧客をランク付けする



ここでは、顧客ごとにこれまでの購入金額を集計、その金額に応じてABCのランク付けを行います。ここでは30万円以上をランクA、10万円以上をランクB、それ以下をCとしてみます。

ポイントしては、「#55 顧客別の購入金額を集計する」で使ったクエリに、Switch関数を使った演算フィールドを追加します。Switch関数は、「Switch(条件1, 値1, 条件2, 値2...)」という構文の関数で、条件1が真なら値1を、条件2が真なら値2をというように、指定された複数の条件のうち、最初に真となる条件式の次に指定された値を返す関数です。ここでは次のようイメージの構文になります。

  Switch(金額>=30万,"A",金額>=10万,"B",金額<10万,"C")


なお、この演算フィールドについては、「集計」欄を"演算"に設定することに注意してください。

※Switch関数の他に、IIfを複数組み合わせて使う方法もあります。
   「IIf(金額>=30万,"A",IIf(金額>=10万,"B","C"))」



デザインビュー


SELECT tbl売上伝票.顧客コード, mtbl顧客マスタ.顧客名, Sum([数量]*[販売単価]) AS 購入金額, Switch([購入金額]>=300000,"A",[購入金額]>=100000,"B",[購入金額]<100000,"C") AS ランク
FROM ((tbl売上伝票 INNER JOIN tbl売上伝票明細 ON tbl売上伝票.伝票番号 = tbl売上伝票明細.伝票番号) INNER JOIN mtbl顧客マスタ ON tbl売上伝票.顧客コード = mtbl顧客マスタ.顧客コード) INNER JOIN mtbl商品マスタ ON tbl売上伝票明細.商品コード = mtbl商品マスタ.商品コード
GROUP BY tbl売上伝票.顧客コード, mtbl顧客マスタ.顧客名;



データシートビュー

| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved