Previous: 書式について Up: コマンドリファレンス Next: marff2csv arff形式からcsv形式への変換 MCMD2
MCMD2 : コマンドリファレンス : maccum 累積計算

3.2 maccum 累積計算

f=パラメータで指定した項目の累積を計算し、新しい項目として追加する。 k=を指定することで、キー単位毎に累積計算が可能となる。

書式

maccum f= s= [k=] [i=] [o=] [-assert_diffSize] [-assert_nullkey] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [precision=] [--help] [--helpl] [--version]

パラメータ

f=

ここで指定した項目(複数項目指定可)の値が累積される。

 

項目の値がNULL値である場合は無視される。

 

:(コロン)で新項目名を指定する必要がある。例)f=数量:数量累計

s=

ここで指定した項目(複数項目指定可)で並べ替えられた後、累積が計算される。

 

-qオプションを指定しないとき、s=パラメータは必須。

k=

累積の単位となる項目名リスト(複数項目指定可)を指定する。

利用例

例1: 基本例

「数量」と「金額」項目の累積値を計算し、「数量累計」と「金額累計」という項目名で出力する。

$ more dat1.csv
顧客,数量,金額
A,1,10
A,2,20
B,1,15
B,3,10
B,1,20
$ maccum s=顧客 f=数量:数量累計,金額:金額累計 i=dat1.csv o=rsl1.csv
#END# kgaccum f=数量:数量累計,金額:金額累計 i=dat1.csv o=rsl1.csv s=顧客
$ more rsl1.csv
顧客%0,数量,金額,数量累計,金額累計
A,1,10,1,10
A,2,20,3,30
B,1,15,4,45
B,3,10,7,55
B,1,20,8,75

例2: キー項目を指定する例

「顧客」項目を単位に「数量」と「金額」項目の累積値を計算し、「数量累計」と「金額累計」という項目名で出力する。

$ more dat1.csv
顧客,数量,金額
A,1,10
A,2,20
B,1,15
B,3,10
B,1,20
$ maccum k=顧客 s=顧客 f=数量:数量累計,金額:金額累計 i=dat1.csv o=rsl2.csv
#END# kgaccum f=数量:数量累計,金額:金額累計 i=dat1.csv k=顧客 o=rsl2.csv s=顧客
$ more rsl2.csv
顧客,数量,金額,数量累計,金額累計
A,1,10,1,10
A,2,20,3,30
B,1,15,1,15
B,3,10,4,25
B,1,20,5,45

例3: NULL値を含む累計

「数量」と「金額」項目の累積値を計算し、「数量累計」と「金額累計」という項目名で出力する。 NULLは無視される。結果もNULLが出力される。

$ more dat2.csv
顧客,数量,金額
A,1,10
A,,20
B,1,15
B,3,
B,1,20
$ maccum s=顧客 f=数量:数量累計,金額:金額累計 i=dat2.csv o=rsl3.csv
#END# kgaccum f=数量:数量累計,金額:金額累計 i=dat2.csv o=rsl3.csv s=顧客
$ more rsl3.csv
顧客%0,数量,金額,数量累計,金額累計
A,1,10,1,10
A,,20,,30
B,1,15,2,45
B,3,,5,
B,1,20,6,65

関連コマンド

mshare : 構成比を計算する。maccumと組み合わせて累積相対度数が計算できる。

mcal : 前行の計算結果#{}を利用することで累計計算ができる。

Previous: 書式について Up: コマンドリファレンス Next: marff2csv arff形式からcsv形式への変換 MCMD2