Previous: mhashsum ハッシュ法による項目値の合計 Up: コマンドリファレンス Next: mkeybreak キーブレイク箇所 MCMD2
MCMD2 : コマンドリファレンス : mjoin 参照ファイルの項目結合

3.26 mjoin 参照ファイルの項目結合

k=パラメータで指定した入力ファイルの項目値と参照ファイルの項目値を比較し、 同じ値を持つf=パラメータで指定した参照ファイルの項目値を結合する。 参照ファイルのキー項目は単一化されている必要がある。 参照ファイルに同じキー項目の値が複数ある場合は、mnjoinコマンドを利用すればよい。 また、f=を省略すると、参照ファイルのキー項目以外全ての項目を結合する。

書式

mjoin k= [f=] [K=] [-n] [-N] m=| i= [o=] [-assert_diffSize] [-assert_nullkey] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

k=

ここで指定した入力データの項目とK=パラメータで指定された

 

参照データの項目が同じ行の項目結合が行われる。

 

NULL値は,参照ファイルのK=で指定した項目のどの値にもマッチしない値として扱われる。

f=

結合する参照ファイル上の項目名リストを指定する。

 

省略するとキー項目を除いた全ての項目が結合される。

m=

参照ファイル名を指定する。

 

このパラメータが省略された時には標準入力が用いられる。(i=指定ありの場合)

K=

参照データ上の突き合わせる項目名リスト

 

ここで指定した参照データの項目とk=パラメータで指定された入力データの項目が同じ行の項目結合が行われる。

 

NULL値は,入力ファイルのk=で指定した項目のどの値にもマッチしない値として扱われる。

 

参照データ上にk=パラメータで指定した入力データ上の 項目と同名の項目が存在する場合は指定する必要はない。

-n

参照データにない入力データをNULL値として出力するフラグ。

-N

入力データにない参照データをNULL値として出力するフラグ。

利用例

例1: 基本例

入力ファイルにあるitem項目と、 参照ファイルにあるitem項目を比較し同じ値の場合、cost項目を結合する。

$ more dat1.csv
item,date,price
A,20081201,100
A,20081213,98
B,20081002,400
B,20081209,450
C,20081201,100
$ more ref1.csv
item,cost
A,50
B,300
E,200
$ mjoin k=item f=cost m=ref1.csv i=dat1.csv o=rsl1.csv
#END# kgjoin f=cost i=dat1.csv k=item m=ref1.csv o=rsl1.csv
$ more rsl1.csv
item%0,date,price,cost
A,20081201,100,50
A,20081213,98,50
B,20081002,400,300
B,20081209,450,300

例2: 未結合データ出力

入力ファイルにあるitem項目と、 参照ファイルにあるitem項目を比較し同じ値の場合、cost項目を結合する。 その際、参照データにない入力データと参照データにない範囲データをNULL値として出力する。

$ mjoin k=item f=cost m=ref1.csv -n -N i=dat1.csv o=rsl2.csv
#END# kgjoin -N -n f=cost i=dat1.csv k=item m=ref1.csv o=rsl2.csv
$ more rsl2.csv
item%0,date,price,cost
A,20081201,100,50
A,20081213,98,50
B,20081002,400,300
B,20081209,450,300
C,20081201,100,
E,,,200

関連コマンド

mnjoin : 参照ファイルのキーに重複がある場合はmnjoinを使う。

mpaste : 行番号による結合を行う。

mcommon : 結合でなく単に選択するだけならmcommonを使えばよい。

Previous: mhashsum ハッシュ法による項目値の合計 Up: コマンドリファレンス Next: mkeybreak キーブレイク箇所 MCMD2