Previous: mfsort 項目ソート Up: コマンドリファレンス Next: mhashsum ハッシュ法による項目値の合計 MCMD2
MCMD2 : コマンドリファレンス : mhashavg ハッシュ法による項目値の平均

3.24 mhashavg ハッシュ法による項目値の平均

hash法を使ってk=パラメータで指定した項目を単位にして、f=パラメータで指定した項目値の平均を計算する。 mavgとの違いは、キー項目の並べ変えが必要ないため、その分処理速度が速い。 ただし、キーのサイズ(キー項目のとる値の種類数)が多い場合は処理速度が遅くなる。

書式

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

パラメータ

f=

ここで指定された項目(複数項目指定可)の平均が計算される。

 

:(コロン)で新項目名を指定可能。例)f=数量:数量平均

k=

ここで指定された項目をキーとして集計する(複数項目指定可)。

hs=

ハッシュサイズ【デフォルト値:199999】

 

ハッシュサイズを指定する。【デフォルト値:199999】

 

詳細に関してはmhashsum参照

-n

NULL値が1つでも含まれていると結果もNULL値とする。

利用例

例1: 基本例

「顧客」項目を単位にして、「数量」と「金額」項目の平均を計算する。

$ more dat1.csv
顧客,数量,金額
A,1,
B,,15
A,2,20
B,3,10
B,1,20
$ mhashavg k=顧客 f=数量,金額 i=dat1.csv o=rsl1.csv
#END# kghashavg f=数量,金額 i=dat1.csv k=顧客 o=rsl1.csv
$ more rsl1.csv
顧客,数量,金額
A,1.5,20
B,2,15

例2: NULL値の出力

-nオプションを指定することで、NULL値が含まれている場合は、結果もNULL値として出力する。

$ mhashavg k=顧客 f=数量,金額 -n i=dat1.csv o=rsl2.csv
#END# kghashavg -n f=数量,金額 i=dat1.csv k=顧客 o=rsl2.csv
$ more rsl2.csv
顧客,数量,金額
A,1.5,
B,,15

備考

動作速度に関しては、mhashsumのページにあるベンチマークの項を参照のこと。

関連コマンド

mavg : 同じ機能をもつコマンドだが、内部的にキー項目の並べ替えを行う。

mhashsum : 同じくハッシュ法を用いた合計計算。

Previous: mfsort 項目ソート Up: コマンドリファレンス Next: mhashsum ハッシュ法による項目値の合計 MCMD2