数値列同士の演算
計算を SQL に組み立てて、つなぎ先のデータベースに計算させます。 売上から原価を引く、単価 × 数量で金額を出すといった計算を、分析プロジェクトに取り込む前に済ませられます。自由な式は書けず、用意された演算子を組み合わせる形です。
分析プロジェクトとの違い
| 見るところ | SQLビルダー | 分析プロジェクト |
|---|---|---|
| 演算式の組み立て方法 | 簡易設定 / 一括 の 2 つ | 簡易設定 / 簡易一括設定 / 式を記述 の 3 つ |
| 一括で使える演算子 | + と × だけ | 同じ 2 つ |
| 簡易設定で使える演算子 | + - × ÷ 商 余り 累乗 | 同じ |
| 式を自分で書く | できない | できる |
自由な式を書きたいときは SQLビルダーではできません。 データソース化するで nehan に取り込んでから、分析プロジェクトの数値列同士の演算を使ってください。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | データ |
設定項目
フォームの見出しの並び — 「結果の挿入先を設定」 → 「演算式の組み立て方法を設定」 → 「演算式の設定」 → 「式の最初の項を設定」 → 「一括で処理する列と演算子を選択」。条件によって出ない見出しもあります。
- 結果の挿入先を設定
- 新規列に挿入(既定)か既存列に上書き。
- 新規列名を入力
- 「新規列に挿入」のときに出ます。計算結果を入れる列の名前。
- 列を選択必須
- 「既存列に上書き」のときに出ます。計算結果の入り先で、計算に使う列ではありません。数値の列だけ選べます。
- 演算式の組み立て方法を設定
- 簡易設定(既定)か一括。
- 固定数値を演算する
- 簡易設定のときに出ます。on にすると、その項に列ではなく決まった数値を使います。
- 列を選択(式の最初の項)必須
- 簡易設定で「固定数値を演算する」が off のときに出ます。数値の列だけ選べます。
- 数値を入力
- 簡易設定で「固定数値を演算する」が on のときに出ます。
- 演算子と項
- 簡易設定のときに出ます。2 つ目以降の項を並べる場所です。1 行につき演算子と、列か固定数値を 1 つ決めます。行は何行でも足せます。
- 演算子を選択必須
- 一括のときに出ます。
+と×の 2 つだけです。 - 列を選択(一括)必須
- 一括のときに出ます。数値の列を2 つ以上選びます。選んだ列を左から順に同じ演算子でつなぎます。
- 列選択オプション
- 一括のときに出ます。特定の文字列から始まる列・で終わる列・を含む列を一括で選べ、選択した列を除外するで裏返せます。
演算子と計算のされ方
| 演算子 | 意味 |
|---|---|
+ | 足す |
- | 引く |
× | かける |
÷ | 割る |
| 商 | 割った答えの整数部分 |
| 余り | 割った余り |
| 累乗 | 左の数を右の数だけかけ合わせる |
計算は上から順に行われます。 掛け算を先に計算する、といった優先順位はありません。売上 + 原価 × 2 と並べると、(売上 + 原価) × 2 になります。順番を変えたいときは、ノードを 2 つに分けてください。
生成される SQL
PostgreSQL につないで、単価 × 数量 を 金額 という新しい列にした場合です。
SELECT "単価", "数量", ("単価" * "数量") AS "金額"FROM "orders"演算子ごとに組み立てられる形が違います。
| 演算子 | PostgreSQL での形 |
|---|---|
+ | 左 + 右 |
- | 左 - 右 |
× | 左 * 右 |
÷ | 左 / 右 |
| 商 | TRUNC(左 / 右) |
| 余り | MOD(左, 右) |
| 累乗 | POW(左, 右) |
関数名はつなぎ先によって変わります。 実際に組まれた SQL はSQLプレビューで確かめてください。
エラーと対処
どのエラーも、設定を直してノードを実行し直せば消えます。
新しい列の名前が空
「新規列に挿入」を選んで名前を入れずに実行すると出ます。
列名を入力してください
直し方 — 列名を入れてください。
上書き先の列が選ばれていない
「既存列に上書き」を選んで列を選んでいないと出ます。
列を選択してください
直し方 — 入り先の列を選んでください。
上流にない列が選ばれている
前のノードで列が消えたあとに実行すると出ます。
存在しない列が選択されています
直し方 — 列を選び直してください。
入力がつながっていない
前のノードがつながっていないと出ます。
カラムが選択されていません。条件を確認してください
直し方 — 入力にノードをつないでください。
一括で列が 1 つしか選ばれていない
「一括」を選んで列を 2 つ以上選んでいない場合です。翻訳された文言はなく、英語のまま出ます。
type all is required 2 columns
直し方 — 列を 2 つ以上選んでください。
よく使う例
1. 金額を出す
お題 — 単価と数量から金額を出したい
入力 — 単価 数量
設定 — 新規列に挿入 → 金額、簡易設定、最初の項に 単価、演算子 × と項 数量
出力 — 金額 が増えます
2. 利益率を出す
お題 — 利益 ÷ 売上 を出したい
入力 — 利益 売上
設定 — 新規列に挿入 → 利益率、簡易設定、最初の項に 利益、演算子 ÷ と項 売上
出力 — 利益率 が増えます。売上 が 0 の行があるときは先に外してください
3. 固定の数をかける
お題 — 税込み金額を出したい
入力 — 金額
設定 — 最初の項に 金額、演算子 ×、「固定数値を演算する」を on にして 1.1
出力 — 税込みの列
4. 月別の列を全部足す
お題 — 売上_1月 〜 売上_12月 を合計した列がほしい
入力 — 商品 売上_1月 〜 売上_12月
設定 — 一括、演算子 +、列選択オプションの「特定の文字列から始まる列を一括選択」に 売上_
出力 — 12 列を足した 1 列
5. 既存の列を書き換える
お題 — 単位を千円に直したい
入力 — 売上
設定 — 既存列に上書き → 売上、簡易設定、最初の項に 売上、演算子 ÷、固定数値 1000
出力 — 売上 が千円単位になります(元の値は残りません)
6. 計算してから端数を落とす
お題 — 税込み金額を 1 円未満切り捨てにしたい
入力 — 金額
設定 — この機能のあとに数値列の端数処理をつなぐ
出力 — 端数のない金額