日付列の加算/減算
日付や日付時刻の列に、決まった長さを足したり引いたりします。受注日の 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 の出力(受注日 納期)
設定 — この機能のあとに条件で行を絞り込みをつなぎ、納期 で絞る
出力 — 期限切れの行だけ