Previous: mtonull NULL値へ置換 Up: コマンドリファレンス Next: mtrafld クロス表をトランザクション項目に変換 MCMD2
MCMD2 : コマンドリファレンス : mtra 縦型データをベクトル項目に変換

3.66 mtra 縦型データをベクトル項目に変換

f=パラメータで指定した項目値をアイテムとし、それらのアイテムを連結し新しいベクトル項目(トランザクション項目とも呼ぶ)として出力する。 アイテムの区切り文字はdelim=パラメータで指定する。

書式

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

パラメータ

f=

ここで指定した項目(複数項目指定可)の値がアイテムとして連結されトランザクション項目となる。

 

NULL値は無視される。

s=

ここで指定した項目(複数項目指定可)で並べ替えられた後、変換が行われる。

k=

文字列パターンの単位となる項目名(複数項目指定可)リスト。

 

-rオプションが指定された時は指定できない。

delim=

ここで指定した文字を区切り文字とする(省略時はスペース)。

-r

条件反転

 

トランザクション項目を縦型データに変換する。

利用例

例1: 基本例

customerを単位にitemをスペース区切りで結合し、 transactionという項目名で出力する。

$ more dat1.csv
customer,item
A,a
A,b
B,c
B,d
B,e
$ mtra k=customer f=item:transaction i=dat1.csv o=rsl1.csv
#END# kgtra f=item:transaction i=dat1.csv k=customer o=rsl1.csv
$ more rsl1.csv
customer%0,transaction
A,a b
B,c d e

例2: アイテムの区切り文字を-(ハイフン)で実行

$ mtra k=customer f=item:transaction delim=- i=dat1.csv o=rsl2.csv
#END# kgtra delim=- f=item:transaction i=dat1.csv k=customer o=rsl2.csv
$ more rsl2.csv
customer%0,transaction
A,a-b
B,c-d-e

例3: アイテムを降順に並べ替えてから変換

$ mtra k=customer s=item%r f=item:transaction i=dat1.csv o=rsl3.csv
#END# kgtra f=item:transaction i=dat1.csv k=customer o=rsl3.csv s=item%r
$ more rsl3.csv
customer%0,transaction
A,b a
B,e d c

関連コマンド

mvsort : トランザクションデータは、ベクトル型データを処理する一連の処理コマンド(mvから始まる)によって加工できる。

mcross : トランザクションデータとしてではなく、個々のアイテムを独立した項目として出力し、その出現件数を出力する。

mtrafld : 「項目名=値」の形式でトランザクションデータを作成する。

mtraflg : 項目名をアイテムとしてトランザクションデータを作成する。

Previous: mtonull NULL値へ置換 Up: コマンドリファレンス Next: mtrafld クロス表をトランザクション項目に変換 MCMD2