コンテンツにスキップ

日付列の加算/減算

日付や日付時刻の列に、決まった長さを足したり引いたりします。受注日の 30 日後を納期にする、といった使い方です。

分析プロジェクトとの違い

見るところSQLビルダー分析プロジェクト
足し引きする量決まった数だけ(整数を入力)決まった数 / 別の列の値
単位年 / 月 / 日 / 時 / 分 / 秒年 / 月 / 日 / 時 / 分 / 秒
つなぎ先の制限Treasure Data では使えないない

入出力

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

設定項目

フォームの見出しの並び — 「結果の挿入先を設定」 → 「対象列を選択」 → 「詳細設定」。条件によって出ない見出しもあります。

結果の挿入先を設定
新規列に挿入(既定)か既存列に上書き。
新規列名を入力
「新規列に挿入」のときに出ます。結果を入れる列の名前。
列を選択必須
「既存列に上書き」のときに出ます。この列を計算して、同じ列に書き戻します。日付か日付時刻の列だけ選べます。
対象列を選択必須
「新規列に挿入」のときに出ます。計算のもとになる列。日付か日付時刻の列から 1 つ選べます。
日付要素選択
足し引きする単位。年(既定)/ 月 / 日 / 時 / 分 / 秒。
加算/減算を選択
+(加算)(既定)か-(減算)。
加算/減算する数値を入力必須
いくつ足し引きするか。整数だけ入れられます。

つなぎ先による違い

つなぎ先使えるか
Treasure Data日付列の操作のメニューごと出ません
そのほか使えます

日付の列が日付のまま扱えないときは、先に列の型変更で型をそろえてください。

生成される SQL

PostgreSQL につないで、受注日 に 30 日足した場合です。

SELECT "受注日", ("受注日" + INTERVAL '30 DAY') AS "納期"
FROM "orders"

MySQL では DATE_ADD("受注日", INTERVAL 30 DAY)、減算なら DATE_SUB のように関数そのものが変わります。 組まれた SQL はSQLプレビューで確かめてください。

エラーと対処

どのエラーも、設定を直してノードを実行し直せば消えます。

新しい列の名前が空

「新規列に挿入」を選んで名前を入れずに実行すると出ます。

列名を入力してください

直し方 — 列名を入れてください。

上書き先の列が選ばれていない

「既存列に上書き」を選んで列を選んでいないと出ます。

列を選択してください

直し方 — 入り先の列を選んでください。

上流にない列が選ばれている

前のノードで列が消えたあとに実行すると出ます。

存在しない列が選択されています

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

入力がつながっていない

前のノードがつながっていないと出ます。

カラムが選択されていません。条件を確認してください

直し方 — 入力にノードをつないでください。

対象列が決まっていない

「新規列に挿入」で対象列が空のまま実行した場合です。翻訳された文言はなく、英語のまま出ます。

column is not found

直し方 — 対象列を選んでください。

よく使う例

1. 納期を出す

お題 — 受注日の 30 日後を納期にしたい

入力 — 受注日(日付)

設定 — 新規列に挿入 → 納期、対象列 受注日、日 / +(加算) / 30

出力 — 納期 が増えます

2. 前年同日を出す

お題 — 去年の同じ日と比べたい

入力 — 受注日(日付)

設定 — 新規列に挿入 → 前年同日、年 / -(減算) / 1

出力 — 1 年前の日付

3. 月末までの残りを見る

お題 — 翌月 1 日を出して、そこから 1 日引きたい

入力 — 基準日(日付)

設定 — ノードを 2 つ並べる。1 つ目で月 / +(加算) / 1、2 つ目で日 / -(減算) / 1

出力 — その月の月末に近い日付

4. 時刻をずらす

お題 — 世界標準時の記録を 9 時間ずらしたい

入力 — 記録時刻(日付時刻)

設定 — 対象列は日付時刻の列、時 / +(加算) / 9

出力 — 9 時間後の日付時刻

5. ずらした日付で絞る

お題 — 納期を過ぎた注文を見たい

入力 — 例 1 の出力(受注日 納期)

設定 — この機能のあとに条件で行を絞り込みをつなぎ、納期 で絞る

出力 — 期限切れの行だけ

関連