コンテンツにスキップ

数値列同士の演算

数値の列どうしを計算して、結果を列にします。売上から原価を引いて利益を出す、単価 × 数量で金額を出す、といった使い方をします。

計算結果の端数を落としたいときは、このあとに数値列の丸めをつないでください。

入出力

ポート内容
入力データデータ
出力データデータ(新規列に挿入なら 1 列、右端に増えます)

Spark エンジンでも動きます。

設定項目

「演算式の作成方法を選択」で選んだ作り方によって、以降に出る欄が変わります。

結果の挿入先を設定
新規列に挿入(既定)か既存列に上書き。
新規列名を入力必須
「新規列に挿入」のときに出ます。計算結果を入れる列の名前。
列を選択必須
「既存列に上書き」のときに出ます。計算結果の入り先で、計算に使う列ではありません。数値の列だけ選べます。
演算式の作成方法を選択
簡易設定(既定)/ 簡易一括設定 / 式を記述。
固定数値を演算する
簡易設定のときに出ます。既定は off です。on にすると、その項に列ではなく決まった数値を使います。
演算対象列を選択必須
簡易設定で「固定数値を演算する」が off のときに出ます。数値の列だけ選べます。
数値を入力必須
簡易設定で「固定数値を演算する」が on のときに出ます。小数も入れられます。
演算子と項
簡易設定のときに出ます。2 つ目以降の項を並べる場所です。1 行につき「演算子を選択」と、列か固定数値を 1 つ決めます。行は何行でも足せます。
演算対象列を選択(簡易一括設定)
簡易一括設定のときに出ます。数値の列だけ選べます。複数選べます。1 列だけ選んだときは、その列の値がそのまま結果になります。
演算子を選択(簡易一括設定)
簡易一括設定のときに出ます。+ か × のどちらか。選んだ列を、全部この演算子でつなぎます。初めは何も選ばれていません。選ばずに実行すると「演算子を選択してください。」のエラーになります。
式を記述
「式を記述」のときに出ます。式を自分で書く欄です。書き方は式を記述を見てください。
欠損値を置換して演算する
空欄をここに入れた値に置き換えてから計算します。入れないと、空欄を含む行の結果は空欄になります。どの作り方でも出ます。

3 つの作り方

見るところ簡易設定簡易一括設定式を記述
作れる式項を並べて演算子でつなぐ選んだ列を全部足すか全部掛ける自由
列の数1 つずつ指定まとめて選べる式の中で指定
固定の数値使える使えない使える
かっこ使えない使えない使える
変数使えない使えない使える
向いている場面売上 − 原価月別 12 列の合計かっこを使う計算

簡易設定

最初の項を決め、演算子と次の項を足していきます。項は列か固定の数値です。

使える演算子は 7 つです。

画面の表示意味
+足す
-引く
×掛ける
÷割る
商割った答えの整数部分(端数は切り捨て)
余り割った余り
累乗左の値を右の値の回数だけ掛ける

計算の順番は算数と同じです。 累乗 がいちばん先、次に × ÷ 商 余り、最後に + - です。同じ強さの演算子は左から順に計算します。売上 + 単価 × 数量 と並べると、単価 × 数量 を先に計算してから 売上 を足します。

累乗 だけは右から計算されます。 2 累乗 3 累乗 2 は 2 の (3 の 2 乗) 乗 で 512 です((2 の 3 乗) の 2 乗 の 64 ではありません)。累乗 を 2 回以上並べるときは「式を記述」でかっこを付けてください。

簡易一括設定

複数の列をまとめて選び、全部を + でつなぐか、全部を × でつなぐかを選びます。月別の 12 列を合計する、といった使い方です。演算子は初めは選ばれていないので、+ のときも選び直してください。

固定の数値は混ぜられません。列と数値を組み合わせたいときは簡易設定か「式を記述」を使ってください。

式を記述

式を自分で書きます。かっこが使えるので、計算の順番を自由に決められます。

列は {} で囲みます。 {売上} のように書いてください。囲まずに列名だけ書くと読み取れません。

変数は $ に続けて名前を書きます。 $tax_rate のように書くと、実行するときにその変数の値に置き換わります。使えるのは、その分析プロジェクトのローカル変数と、そこにインポートした共通変数です。詳しくは変数利用方法(分析プロジェクト)を見てください。

式には列か変数を少なくとも 1 つ入れてください。 1 + 2 のように数字だけの式はエラーになります。

式で使える演算子と関数

演算子

書き方意味
+足す
-引く
*掛ける
/割る
//割った答えの整数部分(端数は切り捨て)
%割った余り
**累乗
( )先に計算するところを囲む

関数

書き方意味
abs( )絶対値(マイナスを取る)
log( )自然対数
log10( )常用対数

書き方の例

  • ( {売上} / 1.1 ) * {割引率}
  • abs( {目標} - {実績} )
  • {男性人数} / ( {男性人数} + {女性人数} )
  • {売上} * $tax_rate
  • $tax_rate + {売上}

行の先頭に # を書くと、その行は計算に使われません。覚え書きを残せます。

空欄の扱い

空欄を含む行の結果は空欄になります。 0 として計算したいときは「欠損値を置換して演算する」に 0 を入れてください。置き換わるのは、その式で使っている列だけです。

0 で割ったとき

0 で割ってもエラーにはなりません。 ただし、その行の結果は意味のある数値になりません。

式結果
0 以外の値 ÷ 0inf(どんな数より大きいことを表す値)が入ります
0 以外の値 商 0inf が入ります
0 ÷ 0、0 商 0空欄になります
余り 0(左がいくつでも)空欄になります

inf が入った列は、そのあとの集計やグラフでそのままでは使えません。分母が 0 になりうる計算では、先に条件に応じて値を列に挿入で分母を調整するか、条件で行をフィルタで 0 の行を外してください。

エラーと対処

どのエラーも、設定を直してからノードを実行し直せば先に進めます。

数値でない列を指定した

計算に使う列に数値以外の列が入っているとき。列を選んだあとで前の処理が変わり、型が数値でなくなったときにも出ます。

数値列同士の演算には数値型しか選択できません。

直し方 — 列の型変更で数値にしてください。

式にない列名を書いた

「式を記述」で、存在しない列名を書いたとき。

記述された列名のうち、{{col_name}}が存在しません。

{{col_name}} には、見つからなかった列名が入ります。

直し方 — 列名を確かめてください。前の処理で名前が変わっていることがあります。

式の書き方が間違っている

かっこの対応が合わない、演算子が続いている、1 + 2 のように列も変数も入っていない、といったとき。

構文が不正です。記述した式が正しいか確認してください。

直し方 — かっこの数、演算子の前後に項があるか、列を {} で囲んでいるかを確かめてください。

演算子を選んでいない

簡易設定または簡易一括設定で、演算子が空のとき。簡易一括設定は初めから何も選ばれていないので、触らずに実行するとこのエラーになります。

演算子を選択してください。

直し方 — 演算子を選ぶか、その行を削除してください。

設定が空になっている

ノードに設定が 1 つも入っていないとき。

設定が空になっているノードがあります。設定をご確認ください。突然空になった場合はnehanへご連絡ください。

直し方 — 設定し直してください。繰り返す場合は問い合わせてください。

変数が設定されていない

式の中で $ 付きの変数を使っていて、その名前の変数がないとき。

変数: {{val}}が設定されていないため処理を中断しました。

{{val}} には、見つからなかった変数名が入ります。

直し方 — 名前の打ち間違いを直すか、その名前の変数を作ってください。共通変数を使っているつもりなら、その分析プロジェクトにインポートされているかを確かめてください。

新規列名が既にある

「新規列名を入力」に入れた名前が、入力データに既にあるとき。

新規列名({{new_col}})が既存の列名と重複しています。

{{new_col}} には、重複した列名が入ります。

直し方 — 別の列名を入れるか、「既存列に上書き」に切り替えてください。

列を選ばずに実行した

演算対象列を選択や列を選択が空のまま実行したときに出ます。前の処理で列名が変わり、選んでいた列が入力データからなくなったときにも同じメッセージです。

対象の列が選択されていません。

直し方 — 列を選び直してください。

選んだ列が見つからない

演算対象列を選択で指定した列が入力データにないとき、またはどの条件にも 1 列も当たらないとき。前の処理で列名が変わった場合にも出ます。

対象の列が存在しません。

直し方 — 列を選び直してください。列名が変わりうるデータでは、名前に頼らない選び方(型で選ぶ・前方一致)に変えると壊れにくくなります。

よく使う例

1. 利益を出す

お題 — 売上から原価を引きたい

入力

商品売上原価
りんご1000600
みかん800500

設定 — 新規列名 利益、簡易設定で 売上 → - → 原価

出力

商品売上原価利益
りんご1000600400
みかん800500300

2. 金額を出す

お題 — 単価 × 数量で金額を出したい

入力

商品単価数量
りんご1504
みかん1003

設定 — 新規列名 金額、簡易設定で 単価 → × → 数量

出力

商品単価数量金額
りんご1504600
みかん1003300

3. 税込価格を出す

お題 — 価格に 1.1 を掛けたい

入力

商品価格
りんご1000
みかん600

設定 — 新規列名 税込価格、簡易設定で 価格 → × →「固定数値を演算する」を on にして 1.1

出力

商品価格税込価格
りんご10001100
みかん600660

4. 月別の列を合計する

お題 — 月ごとの列を足して年計を出したい

入力

店舗1月2月3月
A10012090
B200180210

設定 — 新規列名 年計、簡易一括設定で 1月 2月 3月 を選び、演算子 +

出力

店舗1月2月3月年計
A10012090310
B200180210590

5. 空欄を 0 として合計する

お題 — 未入力の月があっても年計を出したい

入力

店舗1月2月3月
A10090
B200180210

設定 — 例 4 に加えて「欠損値を置換して演算する」に 0

出力

店舗1月2月3月年計
A10090190
B200180210590

オプションを入れないと、A の年計は空欄になります。

6. かっこを使って利益率を出す

お題 — (売上 − 原価) ÷ 売上 で利益率を出したい

入力

商品売上原価
りんご1000600
みかん800500

設定 — 新規列名 利益率、「式を記述」で ( {売上} - {原価} ) / {売上}

出力

商品売上原価利益率
りんご10006000.4
みかん8005000.375

7. 余りで振り分ける

お題 — ID を 3 で割った余りでグループを作りたい

入力

ID
10
11
12

設定 — 新規列名 グループ、簡易設定で ID → 余り →「固定数値を演算する」を on にして 3

出力

IDグループ
101
112
120

8. 変数で税率を差し替えられるようにする

お題 — 税率を式に直接書かず、あとから変えられるようにしたい

入力

商品価格
りんご1000

設定 — 変数 tax_rate に 1.1 を入れておき、新規列名 税込価格、「式を記述」で {価格} * $tax_rate

出力

商品価格税込価格
りんご10001100

9. 差の大きさだけを見る

お題 — 目標との差を、プラスマイナスを気にせず大きさだけで見たい

入力

店舗目標実績
A10001200
B1000700

設定 — 新規列名 差の大きさ、「式を記述」で abs( {目標} - {実績} )

出力

店舗目標実績差の大きさ
A10001200200
B1000700300

関連