本章では、初級コマンドで用いた2002年のデータを用いて、下図に示すような「年代別数量金額合計」の帳票を作成する。
顧客の年代別売上数量金額チュートリアル
|
通常、会員制を採用している小売店では、顧客情報として誕生日を登録している。誕生日から年齢を求めるためには、いつを基準に年齢を求めるかを決めなければならない。通常、その方法には2つある。一つ目の方法は、各顧客が来店した日を基準にするものである。この方法により正確な年齢を求めることができるが、一方で、同じ顧客であっても誕生日の前後の購買で、集計される年代が変わってくる。二つ目の方法は、ある固定した日を基準に年齢を求めることにより、同じ顧客は必ず同じ年代に集計される。しかし長い期間(例えば10年間)のデータを使った年代別集計になると、31才の時の購買と40歳の時の購買が同じ年代に集計され問題となる。これらの二つの方法は目的に応じて使い分ければよいであろう。ここでは二つ目の方法を利用することにする。
年代別に売上を集計することによって、どの年代層がどのように店に貢献しているかを観察することができる。数量や金額だけでなく、粗利や来店回数の属性によって集計するなど、より多面的に分析するのが一般的である。
上図の帳票の作成においては、これまでに学習したコマンドを組み合わせることによって作成することができる。まずは、次に示す回答見ずに、各自で、入力データから、上図の帳票を作成するために、コマンドをどのように組み合わせて実行すればよいか(処理の流れ)を考えてもらいたい。
回答:処理の流れ
以上の説明で、年代別数量金額合計を求めるスクリプトを書く準備が整った。以下にその回答を示すが、回答を見る前に各自でチャレンジしてもらいたい。
#!/bin/bash xtdelnul -f 顧客 -i /mnt/h00/tutorial/dat.xt | xtcut -f 顧客,数量,金額 | xtjoin -k 顧客 -m /mnt/h00/tutorial/cust.xt -f 生年月日 | xtcal -c 'down(age("20030101",$生年月日),10)' -a 年代 | xtsel -c '$年代>=10&&$年代<=90' | xtcut -f 年代,数量,金額 | xtagg -k 年代 -f数量,金額 -c sum | xtcut -f 年代,数量,金額 | xtheader -l "年代別数量金額合計" -c "チュートリアル" -o age.xt |
実行結果は各自で確認してもらいたい。
本文で解説した一つ目の年齢の求め方を使って、次のようなデータを作成しよう。スクリプト名及び結果ファイル名は表に示されたものを使おう。
帳票名 | スクリプト名 | 結果ファイル(xt) | 結果ファイル(html) |
年代別売上数量金額 | age1.sh | age1.xt | age1.html |
5才きざみの年代別売上数量金額 | age2.sh | age2.xt | age2.html |
4才きざみの年代別来店回数合計 | age3.sh | age3.xt | age3.html |
年代別粗利率 | age4.sh | age4.xt | age4.html |