Previous: mtrafld クロス表をトランザクション項目に変換 Up: コマンドリファレンス Next: muniq レコードの単一化 MCMD2
MCMD2 : コマンドリファレンス : mtraflg クロス表をトランザクション項目に変換

3.68 mtraflg クロス表をトランザクション項目に変換

f=パラメータで指定した項目値がNULL値かどうかをチェックし、 NULL値以外であれば,それらの項目名を1つのアイテムとして連結し 新しいベクトル項目(トランザクション項目とも呼ぶ)として出力する。

書式

mtraflg a= f= [delim=] [-r] [i=] [o=] [-assert_diffSize] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

a=

トランザクション項目名を指定する。

f=

ここで指定された項目値(複数項目指定可)をチェックし、トランザクションデータを作成する。

 

(-rオプションの指定がある時はトランザクションデータから項目名として抜き出す値のリスト)

delim=

ここで指定した文字をトランザクション項目のアイテム間の区切りとする(省略時はスペース)。

 

文字列の指定はできない。1バイト文字のみ指定可能。

-r

条件反転

 

トランザクション型から縦型へデータを変換する。

利用例

例1: 基本例

eggとmilk項目の値がNULL値以外なら、それら項目名を要素としたベクトルを作成する。

$ more dat1.csv
customer,egg,milk
A,1,1
B,,1
C,1,
D,1,1
$ mtraflg f=egg,milk a=transaction i=dat1.csv o=rsl1.csv
#END# kgtraflg a=transaction f=egg,milk i=dat1.csv o=rsl1.csv
$ more rsl1.csv
customer,transaction
A,egg milk
B,milk
C,egg
D,egg milk

例2: 基本例2

出力された結果を-rをつけて再実行し元に戻す。

$ mtraflg -r f=egg,milk a=transaction i=rsl1.csv o=rsl2.csv
#END# kgtraflg -r a=transaction f=egg,milk i=rsl1.csv o=rsl2.csv
$ more rsl2.csv
customer,egg,milk
A,1,1
B,,1
C,1,
D,1,1

例3: 区切り文字の指定

区切り文字を-(ハイフン)で連結し、transactionという項目名で出力する。

$ mtraflg f=egg,milk a=transaction delim=- i=dat1.csv o=rsl3.csv
#END# kgtraflg a=transaction delim=- f=egg,milk i=dat1.csv o=rsl3.csv
$ more rsl3.csv
customer,transaction
A,egg-milk
B,milk
C,egg
D,egg-milk

関連コマンド

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

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

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

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

Previous: mtrafld クロス表をトランザクション項目に変換 Up: コマンドリファレンス Next: muniq レコードの単一化 MCMD2