f=パラメータで指定した項目について、 n=パラメータで指定した数の組み合せを求め、 a=パラメータで指定した項目名で出力する。 -pを指定することで順列として出力することも可能である。
mcombi a= f= n= [s=] [k=] [-p] [-dup] [i=] [o=] [-assert_diffSize] [-assert_nullin] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]
a= |
新たに追加される項目の名前を指定する。 |
f= |
組合せを求める項目名リスト(複数項目指定可)を指定する。 |
ここで指定した項目の値の全組合せを出力する。 |
|
n= |
組合せの数を指定する。 |
組み合わせ数を大きくすると、出力レコードが爆発的に大きくなることに注意する。 |
|
s= |
ここで指定した項目(複数項目指定可)で並べ替えられた後、f=で指定した項目の組み合わせを求める。 |
k= |
キー項目名リスト(複数項目指定可) |
組合せを求める単位となる項目名リスト。 |
|
-p |
組合せでなく順列を求める。 |
-dup |
同一の値の組み合せも出力する |
customer項目を単位に、item項目の2アイテムの組み合わせを求め、 item1,item2という項目名で出力する。 k=,f=で指定していない項目(ここではitem項目)は、キーの最終行の値が出力される。
$ more dat1.csv customer,item A,a1 A,a2 A,a3 B,a4 B,a5 $ mcombi k=customer f=item n=2 a=item1,item2 i=dat1.csv o=rsl1.csv #END# kgcombi a=item1,item2 f=item i=dat1.csv k=customer n=2 o=rsl1.csv $ more rsl1.csv customer%0,item,item1,item2 A,a3,a1,a2 A,a3,a1,a3 A,a3,a2,a3 B,a5,a4,a5
-dupオプションを指定すると同一のアイテムの組み合せも出力される。
$ mcombi k=customer f=item n=2 a=item1,item2 i=dat1.csv o=rsl2.csv -dup #END# kgcombi -dup a=item1,item2 f=item i=dat1.csv k=customer n=2 o=rsl2.csv $ more rsl2.csv customer%0,item,item1,item2 A,a3,a1,a1 A,a3,a1,a2 A,a3,a1,a3 A,a3,a2,a2 A,a3,a2,a3 A,a3,a3,a3 B,a5,a4,a4 B,a5,a4,a5 B,a5,a5,a5
customer項目を単位に、item項目の2アイテムの順列を求め、 item1,item2という項目名で出力する。
$ mcombi k=customer f=item n=2 a=item1,item2 -p i=dat1.csv o=rsl3.csv #END# kgcombi -p a=item1,item2 f=item i=dat1.csv k=customer n=2 o=rsl3.csv $ more rsl3.csv customer%0,item,item1,item2 A,a3,a1,a2 A,a3,a2,a1 A,a3,a1,a3 A,a3,a3,a1 A,a3,a2,a3 A,a3,a3,a2 B,a5,a4,a5 B,a5,a5,a4
item項目を降順に並べ替えた後、 item項目の2アイテムの順列を求める。
$ mcombi k=customer f=item n=2 s=item%r a=item1,item2 -p i=dat1.csv o=rsl4.csv #END# kgcombi -p a=item1,item2 f=item i=dat1.csv k=customer n=2 o=rsl4.csv s=item%r $ more rsl4.csv customer%0,item%1r,item1,item2 A,a1,a3,a2 A,a1,a2,a3 A,a1,a3,a1 A,a1,a1,a3 A,a1,a2,a1 A,a1,a1,a2 B,a4,a5,a4 B,a4,a4,a5