Tukubaiオンラインコマンドマニュアル

sisu(1)

【名前】

sisu : 指数(構成比)を計算

【書式】

Usage   : sisu [-<p>] [key=<key>] val=<val> <file>
Version : Wed Feb 19 16:34:37 JST 2014

【説明】

引数のファイルまたは標準入力のテキストデータのkey=で指定したフィールドについて全レコード(行)の合計に占める各フィールドの値の構成比を算出し、その次のフィールドに挿入して出力する。

【例1】

$ cat data # 店 日付 売数 客数
a店 1日目 103  62
b店 1日目 210 113
c店 1日目 81   52
d店 1日目 75   48
e店 1日目 211 140
$

売数(第3フィールド)の店別構成比を求めて売数の次のフィールドに挿入する。

$ sisu val=3 data | keta
a店 1日目 103  75.7  62
b店 1日目 210 154.4 113
c店 1日目  81  59.6  52
d店 1日目  75  55.1  48
e店 1日目 211 155.1 140
$ # 第4フィールドが構成比

【例2】

key=で指定したフィールドをキーフィールドとし、キーフィールドの値が同じレコードの中で構成比を計算して出力する。なおキーフィールドはあらかじめ整列済みであることが条件となる。

$ cat data # 店 日付 売数 客数
a店 1日目 103  62
a店 2日目 157  94
a店 3日目  62  30
b店 1日目 210 113
b店 2日目 237 121
b店 3日目 150  82
c店 1日目  81  52
c店 2日目  76  49
c店 3日目  38  21
d店 1日目  75  48
d店 2日目  72  42
d店 3日目  34  19
e店 1日目 211 140
e店 2日目 149  91
e店 3日目 120  73
$

各日(第2フィールド)毎に店別の売数(第3フィールド)の構成比を求める。

$ msort key=2/1 data | sisu key=2 val=3 | keta
a店 1日目 103  75.7  62  ----
b店 1日目 210 154.4 113   ↑
c店 1日目  81  59.6  52   1日目の中での構成比
d店 1日目  75  55.1  48   ↓
e店 1日目 211 155.1 140  ----
a店 2日目 157 113.6  94  ----
b店 2日目 237 171.5 121   ↑
c店 2日目  76  55.0  49   2日目の中での構成比
d店 2日目  72  52.1  42   ↓
e店 2日目 149 107.8  91  ----
a店 3日目  62  76.7  30  ----
b店 3日目 150 185.6  82   ↑
c店 3日目  38  47.0  21   3日目の中での構成比
d店 3日目  34  42.1  19   ↓
e店 3日目 120 148.5  73  ----
$ # 第4フィールドが構成比

【例3】

「-数値」で構成比の小数点以下の精度を指定できる。

$ cat data # 店 日付 売数 客数
a店 1日目 103  62
b店 1日目 210 113
c店 1日目 81   52
d店 1日目 75   48
e店 1日目 211 140
$

売数(第3フィールド)の店別構成比を小数点3桁まで求める。

$ sisu -3 val=3 data | keta
a店 1日目 103  75.735  62
b店 1日目 210 154.412 113
c店 1日目  81  59.559  52
d店 1日目  75  55.147  48
e店 1日目 211 155.147 140
$

【関連項目】

フィールド形式(5)

last modified: 2014-02-27 17:02:27