1. 時間軸での売上推移

年次

  • 売上は,時間(年次,月次,日次)での推移と,カテゴリ(カテゴリ,サブカテゴリ,グッズ)での推移と2種類あります。ここでは前者の推移を見ます。

  • 年間の売上推移は,シンプルな折れ線グラフだけでなく,月別のスタックバーチャートが有効です。

SELECT
  TD_TIME_FORMAT(time, 'yyyy', 'JST') AS d, SUM(price*amount) AS sales
FROM
  sales_slip
GROUP BY TD_TIME_FORMAT(time, 'yyyy', 'JST')
ORDER BY d

(図)年次の売上推移

(図)年別の総売上推移。1月から順に月ごとのスタック(色)が積み重なっている。    

年次×Category

SELECT
  TD_TIME_FORMAT(time, 'yyyy', 'JST') AS d, category, SUM(price*amount) AS sales
FROM
  sales_slip
GROUP BY TD_TIME_FORMAT(time, 'yyyy', 'JST'), category
ORDER BY d

(図)年別の総売上推移。カテゴリごとのスタック(色)が積み重なっている。

月次,日次

  • 月次と日次は各々をx軸,y軸に据えることで同時に参照することができます。

  • 日次での売上推移を category,sub_category,goods_id の粒度で取得していれば,カテゴリごとの月次の売上推移を見るといった事が可能になります。

SELECT
  goods_id, sub_category, category,SUM(price*amount) AS sales,
  TD_TIME_FORMAT(time, 'yyyy-MM-dd', 'JST') AS d
FROM
  sales_slip
GROUP BY
  goods_id, sub_category, category, TD_TIME_FORMAT(time, 'yyyy-MM-dd', 'JST')
HAVING '2010-01-01' <= TD_TIME_FORMAT(time, 'yyyy-MM-dd', 'JST') AND TD_TIME_FORMAT(time, 'yyyy-MM-dd', 'JST') < '2011-01-01'
ORDER BY d, category, sub_category, goods_id

(図)月別×カテゴリ別の売上推移比較

(図)月次×日次での売上推移

2. カテゴリ軸での売上推移

  • 売上は,時間(年次,月次,日次)での推移と,カテゴリ(カテゴリ,サブカテゴリ,グッズ)での推移と2種類あります。ここでは後者の推移を見ます。

  • 前回の時間軸での推移を求める際に,売上を(カテゴリ,サブカテゴリ,グッズ)の粒度で取得できていれば,同じ集計結果でデータ表現が可能です。

  • カテゴリ別の売上は,時間軸では「推移」を見ていましたが,こちらでは「比率」をみる円グラフを活用します。また,よりグラフィカルなツリーマップはインパクトがあります。

SELECT
  TD_TIME_FORMAT(time, 'yyyy-MM-01', 'JST') AS m, category, sub_category, SUM(price*amount) AS sales
FROM
  sales_slip
GROUP BY TD_TIME_FORMAT(time, 'yyyy-MM-01', 'JST'), category, sub_category
ORDER BY m

(図)カテゴリ毎の売上比率(Pie)

(図)カテゴリ毎の売上比率(Tree Map)

Sub_Category

  • サブカテゴリ別の売上は,上位のカテゴリと同時に見るケースが一般的です。カテゴリ間で売上の比較をしつつ,その中でのサブカテゴリの比率を見るには2番目の図のようなスタックバーチャートが有効です。

(図)カテゴリ・サブカテゴリ毎の売上比率(Tree Map)

Goods

  • 最も細かい粒度グッズごとに売上を見る場合は,ランキングとしてTop10を取ってきたり,上階層のサブカテゴリを踏まえて見たり,細かい故に何らかの絞り込みが必要になります。

SELECT
  TD_TIME_FORMAT(time, 'yyyy-MM-01', 'JST') AS m, category, sub_category, goods_id, SUM(price*amount) AS sales
FROM
  sales_slip
GROUP BY TD_TIME_FORMAT(time, 'yyyy-MM-01', 'JST'), category, sub_category, goods_id
ORDER BY m
LIMIT 10000

(図)全体の売上Top10の占有率

(図)サブカテゴリ,グッズ毎の売上占有率(ツリーマップ)

  • No labels