Previous: mdata データセットの出力 Up: コマンドリファレンス Next: mdformat 日付時刻抽出 MCMD2
MCMD2 : コマンドリファレンス : mdelnull NULL値行の削除

3.19 mdelnull NULL値行の削除

f=パラメータで指定した項目について、NULL値が含まれる行を削除(撰択)する。

書式

mdelnull f= [k=] [u=] [-F] [-r] [-R] [i=] [o=] [bufcount=] [-assert_diffSize] [-assert_nullkey] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

f=

NULL値の検索対象となる項目名(複数項目指定可)を指定する。

k=

削除(撰択)する単位となるキー項目名(複数項目指定可)を指定する。

u=

不一致データ出力ファイル名を指定する。

-F

項目間AND条件

 

f=パラメータで複数項目を指定した場合、その全ての値がNULL値の行を削除(撰択)する。

-r

条件反転

 

削除ではなく選択する。

-R

レコード間AND条件

 

k=パラメータを指定した場合、その全ての行がNULL値の行を削除(撰択)する。

利用例

例1: 基本例

「数量」と「金額」項目がNULL値の行を削除する。 NULL値の行はoth.csvに出力する。

$ more dat1.csv
顧客,数量,金額
A,1,10
A,,20
B,1,15
B,3,
C,1,20
$ mdelnull f=数量,金額 u=oth.csv i=dat1.csv o=rsl1.csv
#END# kgdelnull f=数量,金額 i=dat1.csv o=rsl1.csv u=oth.csv
$ more rsl1.csv
顧客,数量,金額
A,1,10
B,1,15
C,1,20
$ more oth.csv
顧客,数量,金額
A,,20
B,3,

例2: NULL値の行を選択

-rを指定することで、削除ではなく選択することになる。

$ mdelnull f=数量,金額 -r i=dat1.csv o=rsl2.csv
#END# kgdelnull -r f=数量,金額 i=dat1.csv o=rsl2.csv
$ more rsl2.csv
顧客,数量,金額
A,,20
B,3,

例3: キー項目でのNULL値の行の削除

k=を指定することで、集計キー単位で削除することになる。 以下では「顧客」項目を単位にして、「数量」と「金額」項目にNULL値が一つでも含まれていれば削除する。

$ mdelnull k=顧客 f=数量,金額 i=dat1.csv o=rsl3.csv
#END# kgdelnull f=数量,金額 i=dat1.csv k=顧客 o=rsl3.csv
$ more rsl3.csv
顧客%0,数量,金額
C,1,20

例4: 項目間AND条件の例

「数量」と「金額」項目の両方がNULL値の行を削除する。

$ more dat2.csv
顧客,数量,金額
A,1,10
A,,
B,1,15
B,3,
C,1,20
$ mdelnull f=数量,金額 -F i=dat2.csv o=rsl4.csv
#END# kgdelnull -F f=数量,金額 i=dat2.csv o=rsl4.csv
$ more rsl4.csv
顧客,数量,金額
A,1,10
B,1,15
B,3,
C,1,20

例5: レコード間AND条件の例

「顧客」項目を単位にして、「数量」項目が全てNULL値の行を削除する。

$ mdelnull k=顧客 f=数量 -R i=dat1.csv o=rsl5.csv
#END# kgdelnull -R f=数量 i=dat1.csv k=顧客 o=rsl5.csv
$ more rsl5.csv
顧客%0,数量,金額
A,1,10
A,,20
B,1,15
B,3,
C,1,20

関連コマンド

mnullto : NULL値を含む行を削除するのではなく、NULL値を指定の文字列に変換する。

Previous: mdata データセットの出力 Up: コマンドリファレンス Next: mdformat 日付時刻抽出 MCMD2