Lesson6までで、バッチを用いた帳票作成の一通りの流れを学習した。Lesson7では、少し複雑な帳票を作成することによって、Mコマンドを用いた帳票作成の流れを再確認してもらいたい。ここで目的とする帳票は「1998年に関する商品売上金額ベスト20」である。1998年に購買された商品の中で何がよく売れている商品かを確認するための帳票である。
ここで帳票のイメージを考えてもらいたい。このタイトルからイメージされる帳票は、人によって異なってくるであろうが、ここでは最終的に以下のイメージの帳票を作成することとする。
1998年の商品売上金額ベスト20
Lesson7にて作成 Mon Apr 13 22:44:54 JST 1998 ============================ 順位 商品コード 数量 金額 ---------------------------- 1 1118706 7277 2597967 2 1226550 4842 1697482 3 1216511 3681 1386146 : : : 18 541800 127 74530 19 1543148 133 69826 20 1284665 114 57414 ============================ |
gunzip -c /home/practice/Mine/Data/StoreMaster1/Dat/dat.gz |\ mselnum field=2 range=19980101_19981231 |\ mcut field=27,14,13 |\ sort |\ msum key=1 field=2,3 >xxtmp |
gunzip -c /home/practice/Mine/Data/StoreMaster1/Dat/dat.gz |\ mselnum field=2 range=19980101_19981231 |\ mcut field=27,14,13 |\ sort |\ msum key=1 field=2,3 |\ sort -nr +2 |\ mbest key=0 best=20 >xxtmp |
gunzip -c /home/practice/Mine/Data/StoreMaster1/Dat/dat.gz |\ mselnum field=2 range=19980101_19981231 |\ mcut field=27,14,13 |\ sort |\ msum key=1 field=2,3 |\ mdelnul field=1 |\ sort -nr +2 |\ mbest key=0 best=20 >xxtmp |
gunzip -c /home/practice/Mine/Data/StoreMaster1/Dat/dat.gz |\ mselnum field=2 range=19980101_19981231 |\ mcut field=27,14,13 |\ sort |\ msum key=1 field=2,3 |\ mdelnul field=1 |\ sort -nr +2 |\ mbest key=0 best=20 |\ mnumber key=0 |\ mcut field=4,1,2,3 >dat7-1 |
echo '1998年の商品売上金額ベスト20'
>xxtitle
echo 'Lesson7にて作成' >>xxtitle date >>xxtitle echo ': 順位:商品コード: 数量: 金額:' >xxfield #入力ファイルの項目
mlist2 title=xxtitle field=xxfield <dat7-1 >dat7-2 |
bash $ less dat7-2
1998年の商品売上金額ベスト20 Lesson7にて作成 Tue Apr 14 00:50:52 JST 1998 ================================ 順位 商品コード 数量 金額 -------------------------------- 1 1118706 7277 2597967 2 1226550 4842 1697482 3 1216511 3681 1386146 4 1287206 1141 322809 5 1045261 1030 299832 6 1216520 360 285710 7 1162403 1018 235518 8 1365312 481 197288 9 1162390 737 183863 10 633003 510 128868 11 1526588 505 121710 12 1045288 194 92458 13 1226568 105 92400 14 454656 255 88080 15 1161563 302 83791 16 1141074 254 82492 17 687928 291 77854 18 541800 127 74530 19 1543148 133 69826 20 1284665 114 57414 =============================== |