Previous: mvdelnull ベクトルのNULL要素の削除 Up: コマンドリファレンス Next: mvnullto ベクトル要素のNULL置換 MCMD2
MCMD2 : コマンドリファレンス : mvjoin ベクトル要素の参照結合

3.75 mvjoin ベクトル要素の参照結合

ベクトル要素をキーにして参照ファイル上のベクトル型データを結合する。 ベクトル型の項目とは、Table 3.40のitems項目のように、 スペースで区切られた複数の文字列を値として持つ項目である。

典型的な例をTable 3.40〜3.41に示す。

Table 3.40: 入力データ
in.csv

no

items

1

a b c

2

a d

3

b f e f

4

f c d

: Caption text
参照ファイル ref.csv

item

taxo

a

X

b

Y

c

Z

e

X

f

Z

Table 3.41: 基本例
vf=items m=ref.csv K=item f=taxo

no

items

1

a b c X Y Z

2

a d X

3

b f e f Y Z X Z

4

f c d Z Z

: Caption text
アンマッチ要素の指定例 vf=items m=ref.csv K=item f=taxo n=*

no

items

1

a b c X Y Z

2

a d X *

3

b f e f Y Z X Z

4

f c d Z Z *

mvjoinコマンドは、参照ファイルデータを一旦全てメモリにセットするので、 巨大な参照ファイルを指定した場合はメモリを使い果たす可能性があることに注意する。

書式

mvjoin vf= [-A] K= f= [n=] m=| i= [o=] [delim=] [-assert_diffSize] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

vf=

結合キーとなるベクトルの項目名(i=ファイル上)を指定する。

 

複数項目指定可能。ベクトル要素はソーティングされている必要はない。

 

結果の項目名を変更したいときは、:(コロン)に続けて新項目名を指定する。

-A

vf=で:(コロン)に続けて指定した項目名で、新たな項目が追加される。

 

なお-Aオプションを指定した場合、vf=パラメータで指定するすべての

 

項目に新項目名を指定しなければならない。

m=

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

K=

参照ファイル(m=)上の結合キーとなるベクトル要素の項目名を指定する。

 

並べ変わっている必要はないが、ベクトル要素は単一化されていなければならない。

 

単一化されていない時の動作は不定である。

f=

結合するベクトル(要素)項目名を指定する。

n=

vf=とK=のベクトル要素がマッチしなかった場合に結合する文字列を指定する。

 

省略した場合、対象のベクトル(要素)の結合は行われない。

利用例

例1: ベクトルを結合する例

$ more dat1.csv
items
b a c
c c
e a a
$ more ref1.csv
item,taxo
a,X Y
b,X
c,Z Z
$ mvjoin vf=items K=item m=ref1.csv f=taxo i=dat1.csv o=rsl1.csv
#END# kgVjoin K=item f=taxo i=dat1.csv m=ref1.csv o=rsl1.csv vf=items
$ more rsl1.csv
items
b a c X X Y Z Z
c c Z Z Z Z
e a a X Y X Y

例2: 複数項目に対して適用する例

$ more dat2.csv
items1,items2
b a c,b b
c c,a d
e a a,a a
$ more ref2.csv
item,taxo
a,X
b,X
c,Y
d,Y
$ mvjoin vf=items1,items2 K=item m=ref2.csv f=taxo i=dat2.csv o=rsl2.csv
#END# kgVjoin K=item f=taxo i=dat2.csv m=ref2.csv o=rsl2.csv vf=items1,items2
$ more rsl2.csv
items1,items2
b a c X X Y,b b X X
c c Y Y,a d X Y
e a a X X,a a X X

関連コマンド

mvcommon : 結合ではなく、要素を選択するだけならこのコマンドを利用する。

Previous: mvdelnull ベクトルのNULL要素の削除 Up: コマンドリファレンス Next: mvnullto ベクトル要素のNULL置換 MCMD2