初級帳票編 顧客別粗利率

本章では、初級コマンドで用いた1996年1月のデータを用いて、下図に示すような「顧客別粗利率」の帳票を作成する。

出力結果

顧客別粗利率

チュートリアル初級シナリオ編

顧客 粗利率
2010216000013 7.5
2010216000020 -4.7
2010216000037 5.8
2010216000051 29.8
2010216000068 17.5
2010216000075 -10.7
2010216000099 10.6
2010216000105 15.1
2010216000136 21
2010216000174 12.6
2010216000204 14.3
2010216000211 19.2
       :
       :

処理の流れ

 粗利率とは顧客の全購入金額に占める店にとっての粗利金額の率のことである。バーゲン対象商品ばかりを買いあさる顧客の粗利率は低くなる(マイナスになる)であろうし、その店に忠誠度の高い顧客の粗利率は逆に高くなるであろう。この粗利率を求めることにより、店にとって良い顧客と悪い顧客を識別することができる。
 上図の帳票の作成においては、これまでに学習したコマンドを組み合わせることによって作成することができる。まずは、次に示す回答見ずに、各自で、入力データから、上図の帳票を作成するために、コマンドをどのように組み合わせて実行すればよいか(処理の流れ)を考えてもらいたい。

回答:処理の流れ

  1. 顧客がNULLである行を削除する
  2. 必要な項目「顧客」「金額」「粗利金額」を選ぶ
  3. 顧客別に「金額」と「粗利金額」の合計を求める
  4. 粗利金額(合計)÷金額(合計)を求め、「粗利率」とする(ついでに小数点第3桁を四捨五入する)
  5. 必要な項目、「顧客」「粗利率」を選択する

スクリプト

上記の処理の流れをスクリプト化したものを以下に示しておくが、回答を見る前に各自でチャレンジしてもらいたい。

#/bin/bash
#===============================================================
# MUSASHI bash script
#===============================================================

#---- タイトル
title="顧客別粗利率"

#---- コメント
comment="チュートリアル初級シナリオ編"

#---- 各種変数(適宜修正すること)
inPath="/mnt/h00/prm/tutorial"

#---------------------------------------------------------------
# コマンド
#---------------------------------------------------------------
xtdelnul -f 顧客 -i $inPath/dat.xt.gz |
xtcut -f 顧客,日付,金額,粗利金額 |
xtagg -k 顧客 -f 金額,粗利金額 -c sum |
xtcal -c 'round((($粗利金額/$金額)*100),0.1)' -a 粗利率 |
xtcut -f 顧客,粗利率 |
xtheader -l "$title" -c "$comment" -o custpratio.xt
#===============================================================

実行結果は各自で確認してもらいたい。

練習課題