last update: 2004年12月07日

項目名について

有効な項目名
入力項目名と出力項目名
ワイルドカード
項目名の置換


有効な項目名

項目名として利用可能な文字は以下の通りである。
日本語(EUC),アルファベット(a-z,A-Z),数字(0-9),記号(_のみ)

記号に関しては現在のところ、アンダーバー (_)のみ利用できる。
その他の記号は、コマンド引数の指定において特殊文字(キーワード)として利用されているので、項目名としては利用できない。
ただし現在のところ、コマンド側では、項目名のチェックは厳格に行なってはいない。そのため、例えば「顧客#」や「顧客*」といった項目名も指定することは可能であるが、コマンドによってはうまく動作しないことも考えられる。

入力項目名と出力項目名

多くのコマンドで項目の指定には「-f」オプションが利用される。
-fの書式は、「入力項目名:出力項目名」である(ただし、出力項目名を指定できないコマンドもある)。
出力項目名の指定を省略すれば、入力項目名が出力項目名として利用される。

例1)

ブランド 売上数量
A
B
C
D
10
20
30
40
→ xtcut -f ブランド,売上数量:数量 →
ブランド 数量
A
B
C
D
10
20
30
40

上記の例では、「売上数量:数量」の指定により、項目名が「売上数量」から「数量」に変更されて出力される。

例2)

ブランド 売上数量
A
B
C
D
10
20
30
40
→ xtshare -f 売上数量:数量シェア →
ブランド 売上数量 数量シェア
A
B
C
D
10
20
30
40
0.1
0.2
0.3
0.4

xtshareコマンドでは、-fで指定された入力項目名(「売上数量」)が出力ファイルにそのまま出力されるため、新しく計算される構成比項目の名前を出力項目名と指定しなければならない。指定がなければ”same field names in output data"のエラーとなる。

ワイルドカード

-fを伴う多くのコマンドについて入力項目名にワイルドカードを利用することができる。
"*"は任意の長さの任意の文字列にマッチし、"?"は任意の一文字にマッチする。"[文字]"は括弧内に指定したいずれかの文字にマッチする。
ただし、シェルのワイルドカードとして解釈されないようにダブルクオーテーションなどでエスケープする必要がある。

例1)

ブランド 数量09 数量10 数量12
A
B
C
D
10
20
30
40
15
16
17
18
9
8
7
6
→ xtcut -f "数量*" →
数量09 数量10 数量12
10
20
30
40
15
16
17
18
9
8
7
6

上記の例では、数量で始まる項目名(「数量09」「数量10」「数量12」)にマッチする。

例2)

ブランド 数量09 数量10 数量12
A
B
C
D
10
20
30
40
15
16
17
18
9
8
7
6
→ xtcut -f "数量?[29]" →
数量09 数量12
10
20
30
40
9
8
7
6

上記の例では、数量で始まる項目名のうち、次に任意の一文字がきて、続けて"2"もしくは"9"にマッチする項目名が選択される。

項目名の置換

出力項目名で指定された"&"は入力項目名に置換される。

例1)

ブランド 売上数量
A
B
C
D
10
20
30
40
→ xtcut -f ブランド,"売上数量:2004年度&" →
ブランド 2004年度売上数量
A
B
C
D
10
20
30
40

ここでは、"&"が入力項目名である「売上数量」に置換され、結果として「2004年度売上数量」となる。

例2)

ブランド 数量09 数量10 数量12
A
B
C
D
10
20
30
40
15
16
17
18
9
8
7
6
→ xtcut -f "数量*:2004年度&" →
2004年度数量09 2004年度数量10 2004年度数量12
10
20
30
40
15
16
17
18
9
8
7
6

上記の例のように、入力項目のワイルドカードと組み合わせて利用することも可能である。