日付要素の切り出し
日付や日付時刻から「年」「年-月」「曜日」などを切り出して、新しい文字列の列にします。月ごとに集計したいときの下ごしらえに使います。
分析プロジェクトとの違い
| 見るところ | SQLビルダー | 分析プロジェクト |
|---|---|---|
| 結果の型 | いつも文字列 | 要素によって数値 / 文字列 |
| 切り出せる要素 | 列の型によって 6 つか 14 つ | 列の型によって変わる |
| 曜日の表し方 | つなぎ先が返す数字 | nehan 側で決まっている |
| つなぎ先の制限 | Treasure Data と SQL Server/Azure T-SQL では使えない | ない |
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | データ |
設定項目
- 結果を挿入する新規列名を入力必須
- 切り出した結果を入れる列の名前。この機能に「既存列に上書き」はありません。
- 対象列を選択必須
- 切り出すもとの列。日付か日付時刻の列から 1 つ選べます。
- 切り出し要素を選択
- 選べる要素は、対象列の型によって変わります(次の節)。
切り出せる要素
要素ごとの一覧(14 種類)
| 要素 | 日付の列 | 日付時刻の列 |
|---|---|---|
| 年 | ○ | ○ |
| 月 | ○ | ○ |
| 日 | ○ | ○ |
| 年-月 | ○ | ○ |
| 月-日 | ○ | ○ |
| 曜日 | ○ | ○ |
| 年-月-日 時 | × | ○ |
| 年-月-日 時:分 | × | ○ |
| 時 | × | ○ |
| 分 | × | ○ |
| 秒 | × | ○ |
| 時:分 | × | ○ |
| 時:分:秒 | × | ○ |
| 分:秒 | × | ○ |
日付の列には時刻がないので、時刻まわりの 8 つは出ません。 対象列を選ぶ前も、日付の列と同じ 6 つが出ます。
つなぎ先による違い
| つなぎ先 | 使えるか |
|---|---|
| SQL Server/Azure T-SQL | 使えません(実行するとエラーになります) |
| Treasure Data | 日付列の操作のメニューごと出ません |
| そのほか | 使えます |
生成される SQL
PostgreSQL につないで、受注日 から「年-月」を切り出した場合です。
SELECT "受注日", to_char("受注日", 'YYYY-MM') AS "年月"FROM "orders"MySQL では DATE_FORMAT("受注日", '%Y-%m') のように関数も書式の文字も変わります。 組まれた SQL はSQLプレビューで確かめてください。
エラーと対処
どのエラーも、設定を直してノードを実行し直せば消えます。
SQL Server/Azure T-SQL でこの機能を使った
SQL Server/Azure T-SQL につないだビルダーで実行すると出ます。
この関数は SQL Server/Azure T-SQL ではサポートしていません
直し方 — この機能を外してください。年や月で集計したいときは、条件に応じて値を列に挿入で期間ごとの区分を作るか、データソース化するで nehan に取り込んでから分析プロジェクトの日付要素の切り出しを使ってください。
対象列が選ばれていない
対象列を選ばずに実行すると出ます。
列を選択してください
直し方 — 日付か日付時刻の列を選んでください。
上流にない列が選ばれている
前のノードで列が消えたあとに実行すると出ます。
存在しない列が選択されています
直し方 — 対象列を選び直してください。
入力がつながっていない
前のノードがつながっていないと出ます。
カラムが選択されていません。条件を確認してください
直し方 — 入力にノードをつないでください。
よく使う例
1. 月ごとに集計する
お題 — 月別の売上を出したい
入力 — 受注日(日付)売上
設定 — 新規列名 年月、対象列 受注日、要素は 年-月
出力 — 年月(2026-04 のような文字列)。あとにデータ集計をつなぎ、年月 をキーにします
2. 年で比べる
お題 — 年度ごとの推移を見たい
入力 — 受注日(日付)売上
設定 — 新規列名 年、要素は 年
出力 — 2026 のような文字列
3. 時間帯ごとの傾向を見る
お題 — 何時台に注文が多いか
入力 — 受注日時(日付時刻)
設定 — 新規列名 時台、要素は 時
出力 — 09 のような文字列。データ集計でカウントします
4. 曜日で分ける
お題 — 平日と休日を比べたい
入力 — 受注日(日付)
設定 — 要素は 曜日 → あとに条件に応じて値を列に挿入で数字を曜日名や平日・休日に読み替える
出力 — 読み替えた区分
5. 日付を跨がない時刻だけ取り出す
お題 — 作業の開始時刻だけを並べたい
入力 — 開始時刻(日付時刻)
設定 — 対象列は日付時刻の列、要素は 時:分:秒
出力 — 09:30:00 のような文字列