コンテンツにスキップ

データの値を列に挿入

1 行だけのデータを、もう一方のデータの全行に列として付けます。集計で出した合計や平均を、明細の全行に並べて比率を計算する、といった使い方をします。

固定の値を入れるだけなら値を列に挿入で足ります。

入出力

ポート内容
左入力データデータ
右入力データデータ
出力データデータ

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

設定項目

挿入方向を選択
右のデータを左に挿入する(既定)か左のデータを右に挿入する。挿入する側(既定なら右のデータ)が 1 行でなければなりません。

1 行でなければならない

挿入する側のデータは、ちょうど 1 行である必要があります。 2 行以上あるとエラーになります。

集計の結果を使うことが多いので、データ集計でグループを指定せずに全体を集計すると 1 行になります。

受け取る側の行数に制限はありません。1 行のデータの各列が、受け取る側の全行に同じ値で付きます。

0 行のデータをつないだとき

0 行のデータはエラーになりません。 1 行の代わりに仮の値が使われるので、気づかないまま先へ進んでしまいます。前のノードの条件が厳しすぎて 0 行になっていないか、実行前に確かめてください。

つないだもの結果
挿入する側が 0 行受け取る側の全行に、仮の値が入った列が付く(数値の列は 1、文字列の列は 2020-08-29、日付の列は 2020-08-29)
受け取る側が 0 行出力が仮の 1 行になり、元からあった列にも仮の値が入る
両方とも 0 行列だけが増え、0 行のまま出る

同じ名前の列があるとき

挿入する列の名前が受け取る側と重なると、末尾に番号が付きます(売上 → 売上_1)。元の列は上書きされません。

エラーと対処

挿入するデータが 1 行でない

挿入する側が 2 行以上のとき。

挿入するデータは1行である必要があります

直し方 — 挿入する側を 1 行にしてください。集計でグループを指定していると複数行になります。グループごとに値を付けたいなら、このノードではなくキー列を指定する結合を使います。

左のデータがつながっていない

左側のデータが入力されていません。

直し方 — 左入力につなぐノードを確かめてください。

右のデータがつながっていない

右側のデータが入力されていません。

直し方 — 右入力につなぐノードを確かめてください。

よく使う例

1. 全体の合計に対する比率を出す

お題 — 各行の売上が、全体の何割かを計算したい

入力 — 明細(左、店舗 と 売上)と、データ集計でグループを指定せずに出した合計 1 行(右、売上合計)

設定 — 挿入方向は「右のデータを左に挿入する」

出力 — 明細の全行に 売上合計 が付く。このあと数値列同士の演算で 売上 ÷ 売上合計 を出せば比率になる

2. 名前の重なる列を安全に並べる

お題 — 明細にも集計結果にも 売上 という列があり、両方を残したい

入力 — 明細(左、売上)と、合計だけの 1 行(右、売上)

設定 — 挿入方向は「右のデータを左に挿入する」

出力 — 売上 と 売上_1 の 2 列になる。元の 売上 は書き換わらない

3. 全体の平均を各行に並べる

お題 — 各行の売上と、全店舗の平均売上を同じ行に並べたい

入力 — 明細(左、店舗 と 売上)と、平均だけの 1 行(右、売上平均)

設定 — 挿入方向は「右のデータを左に挿入する」

出力 — 明細の全行に 売上平均 列が付き、同じ値が入る

4. 集計した基準日を全行に付ける

お題 — データを作った日を全行に残したい

入力 — 明細(左)と、基準日だけが入った 1 行(右、基準日)

設定 — 挿入方向は「右のデータを左に挿入する」

出力 — 明細の全行に 基準日 が付く。固定の日付でよいなら値を列に挿入の方が簡単です

関連