8.85. sum 合計¶
書式1: sum(num_1,num_2,...)
書式2: sum(num_1,num_2,...,str)
\(num_i\) で与えられた数値を全て合計する。 書式1では、NULL値は無視されるが、全てがNULL値であれば結果もNULLとなる。 書式2において最後の引数として"-n"を与えると、 NULL値に対する扱いが変わり、 項目値に一つでもNULL値がある場合は、結果もNULL値となる。
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id,v1,v2,v3 61,1,2,3 72,-5,2,1 83,1,,3 94,,, 10''')
基本例
1nm.mcal(c='sum(${v1},${v2},${v3})', a='rsl', i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# id,v1,v2,v3,rsl 4# 1,1,2,3,6 5# 2,-5,2,1,-2 6# 3,1,,3,4 7# 4,,,,
ワイルドカードを利用した例
v
から始まる項目( v1,v2,v3
)をワイルドカード「 v*
」によって指定している。
1nm.mcal(c='sum(${v*})', a='rsl', i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# id,v1,v2,v3,rsl 4# 1,1,2,3,6 5# 2,-5,2,1,-2 6# 3,1,,3,4 7# 4,,,,
-nを利用した例
v2
にNULL値を含む id=3
の行の結果もNULLとなる。
1nm.mcal(c='sum(${v1},${v2},${v3},"-n")', a='rsl', i="dat1.csv", o="rsl3.csv").run() 2### rsl3.csv の内容 3# id,v1,v2,v3,rsl 4# 1,1,2,3,6 5# 2,-5,2,1,-2 6# 3,1,,3, 7# 4,,,,