Lesson 14 覚えておきたいコマンド

 この章で学習するコマンドはいままで学習したコマンド(Lesson2〜Lesson12)に比べると難易度が高くなる。だが、これから紹介するコマンドは使用頻度も高く、分析する際にも役に立つコマンドであるので、是非使えるようになってほしい。
 

 レコードの選択2(mselkeystr)

 Lesson2で学習したmselstrとの違いはMコマンド一覧を見てもらえば分かると思う。例として、“一ヶ月間に「商品A」を購入した顧客と「商品A」を購入しなかった顧客との比較をする。”というような分析を行う際に使用する。また、「商品A」を購入しなかった顧客についてレコードから選択する際、mdelkeystrを使用するといい。
 

gunzip -c /home/public/Data/Transaction/KansaiMember/Dat/199801.gz |\
mcut field=8,27                    |\
sort                                    >xxa
mselkeystr key=1 field=2 string=1118706   <xxa >xxsel
mdelkeystr key=1 field=2 string=1118706   <xxa >xxdel

 項目の結合2(mjoinr)

 
echo '_0 1'        >xxa
echo '0_501 2'     >>xxa
echo '501_1001 3'  >>xxa
echo '1001_1501 4' >>xxa
echo '1501_2001 5' >>xxa
echo '2001_2501 6' >>xxa
echo '2501_3001 7' >>xxa
echo '3001_3501 8' >>xxa
echo '3501_4001 9' >>xxa
echo '4001_ 10'    >>xxa

gunzip -c /home/public/Data/Transaction/KansaiMember/Dat/199801.gz |\
mcut field=8,55                        |\
sort                                        |\
msum key=1 field=2                  |\
mjoinr field=2 file=xxa filefield=2 |\
mcut field=3                            |\
sort  -n                                  |\
mcount key=1                          >xxb 

 項目の累計(maccum)

 

gunzip -c /home/public/Data/Transaction/KansaiMember/Dat/199801.gz |\
mcut field=8,55                         |\
sort                                         |\
msum key=1 field=2                   |\
sort -nr +1 -2                          |\
maccum key=0 field=2               |\
mnumber key=0                        |\
mcut field=1,3,4                        >xxMaccum1

muniqb key=0       <xxMaccum1 |\
mcut field=2,3                          >xxMaccum2

msetfile field=xxMaccum2 <xxMaccum1 |\
msetchr value=100                   |\
mmul field1=2 field2=6               |\
mmul field1=3 field2=6               |\
mcut field=1,4,5,7,8                   |\
mdiv field1=4 field2=2                |\
mdiv field1=5 field2=3                |\
mcut field=1,6,7                        >xxMaccum 

 乱数項目の生成(mrand)

 

gunzip -c /home/public/Data/Transaction/KansaiMember/Dat/199801.gz |\
mcut field=8,55            |\
sort                            |\
msum key=1 field=2      |\
mrand seed=200           |\
sort +2 -3                   |\
mbest key=0 best=100  |\
mcut field=1,2              |\
sort                             >xx1