日付の丸め
日付を一定の区切りの先頭に寄せます。日別のデータを週単位・月単位にまとめる、分単位の記録を 1 時間ごとにする、といった使い方をします。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | 丸めた結果の列を加えたデータ |
Spark エンジンでも動きます。
行の数と並び順は変わりません。新規列に挿入を選ぶと列がいちばん右に 1 つ増え、元の日付列はそのまま残ります。既存列に上書きを選ぶと列は増えず、選んだ日付列の値が書き換わります。1 つのノードで作れる列は 1 つです。
設定項目
フォームの見出しの並び — 「処理対象列を選択」 → 「詳細設定」。条件によって出ない見出しもあります。
- 結果の挿入先を設定
- 新規列に挿入(既定)か既存列に上書き。上書きを選んだときは、下の「日付列を選択」で選んだ列がそのまま書き換わります。上書き用の列を別に選ぶ欄はありません。
- 新規列名を入力必須
- 「新規列に挿入」のときに出ます。すでにある列と同じ名前にするとエラーになります。
- 日付列を選択必須
- 丸める対象。日付型・日付時間型・時間型の列だけ選べます。
- 処理タイプを選択
- よく使われる方法から選択(既定)か自分で設定。どちらを選ぶかで、下に出る欄が総入れ替えになります。
- 処理を選択
- 「よく使われる方法から選択」のときに出ます。選んだ列の型によって選択肢が変わります(よく使われる方法から選択)。
- 丸め処理の始点値を指定する
- 「オプション」の中にあり、処理が年度・半期・四半期のときに出ます。区切りの開始月を 1〜12 の整数で入れます。
- 週頭の曜日を指定する
- 「オプション」の中にあり、処理が週のときに出ます。日曜(既定)か月曜。
- 丸め幅を指定
- 「自分で設定」のときに出ます。いくつ分でひと区切りにするか。空のままだと 1 として扱われます。
- 丸め対象の日付要素を選択
- 「自分で設定」のときに出ます。日付型は 年 / 月 / 日、日付時間型は 年 / 月 / 日 / 時 / 分 / 秒、時間型は 時 / 分 / 秒。空のままだと「日」として扱われます。
- 丸め処理の始点日を入力 / 始点日時を入力 / 始点時間を入力
- 「自分で設定」のときに出ます。見出しと既定値は列の型で変わり、日付型が
2018-01-01、日付時間型が2018-01-01 00:00:00、時間型が00:00:00です。ここより前の日付は空欄になります(自分で設定する)。
よく使われる方法から選択
元の値が 2024-04-15 13:05:07.25 のときの結果です。
| 処理 | 結果の型 | 結果 |
|---|---|---|
| 年→年代に丸める(10年単位) | 文字列 | 2020年代 |
| 月→年度に丸める | 文字列 | 2024年度 |
| 月→半期に丸める | 文字列 | 2024年度上半期 |
| 月→四半期に丸める | 文字列 | 2024年度2Q |
| 日→月に丸める | 日付 | 2024-04-01 |
| 日→週に丸める | 文字列 | 2024年04月第2週 |
| 分→時間に丸める | 元の列と同じ | 2024-04-15 13:00:00 |
| 秒→分に丸める | 元の列と同じ | 2024-04-15 13:05:00 |
| 秒以下→秒に丸める | 元の列と同じ | 2024-04-15 13:05:07 |
選べるものは列の型で変わります。
| 列の型 | 選べる処理 |
|---|---|
| 日付 | 年代 / 年度 / 半期 / 四半期 / 月 / 週 |
| 日付時間 | 上の 6 つ + 時間 / 分 / 秒 |
| 時間 | 時間 / 分 / 秒 |
区切りの開始月を変える
区切りの開始月は「丸め処理の始点値を指定する」に 1〜12 の整数を入れて決めます。何も入れないときの開始月は、年度が 4 月、半期と四半期が 1 月です。
2024-01-15 と 2024-04-15 を丸めた結果です。
| 処理 | 始点値なし | 始点値に 4 |
|---|---|---|
| 月→年度に丸める | 2023年度 / 2024年度 | 2023年度 / 2024年度 |
| 月→半期に丸める | 2024年度上半期 / 2024年度上半期 | 2023年度下半期 / 2024年度上半期 |
| 月→四半期に丸める | 2024年度1Q / 2024年度2Q | 2023年度4Q / 2024年度1Q |
開始月より前の月は、1 つ前の年の区切りに入ります。
週の区切り方
週は、その週の始まりの日が入っている月を使って 2024年04月第2週 の形になります。第 1 週は、その月の中で最初に始まる週です。月初の数日が前の月の週に含まれることがあり、そのときは前の月の最終週として数えられます。
週の始まりは日曜が既定で、「週頭の曜日を指定する」で月曜に変えられます。2024-04-15(月曜)は、日曜始まりなら 2024年04月第2週、月曜始まりなら 2024年04月第3週 になります。
自分で設定する
「丸め幅を指定」と「丸め対象の日付要素を選択」を組み合わせます。3 と「月」なら 3 か月ごと、15 と「分」なら 15 分ごとです。結果の型は元の列と同じです。
区切りは始点から数えます。 始点が 2018-01-01 で 3 か月ごとなら、区切りは 2018-01-01 / 2018-04-01 / 2018-07-01 … となり、2024-04-15 は 2024-04-01 になります。
「日付要素の切り出し」との違い
月単位にまとめるだけなら日付要素の切り出しでも同じことができます。
| 見るところ | 日付の丸め | 日付要素の切り出し |
|---|---|---|
| 何をするか | 日付を区切りの先頭に寄せる | 日付の一部を取り出す |
| 1 ノードで作れる列 | 1 つ | いくつでも |
| 月単位 | 「日→月に丸める」で日付型(2024-04-01) | 「月初」で日付型(2024-04-01。同じ結果) |
| 週・四半期・半期・年度・年代 | できる(いずれも文字列) | できない |
| 年だけ・月だけの数値 | できない | 「年」「月」で数値 |
エラーと対処
対象の列が選択されていない
日付列が空のまま実行したとき。
対象の列が選択されていません。
直し方 — 列を選んでから実行してください。
対象の列が見つからない
前の処理で列名が変わった、または列が消えたとき。
対象の列が存在しません。
直し方 — 列を選び直してください。
新規列名が既にある
「新規列に挿入」で、すでにある列と同じ名前を入れたとき。
新規列名(
{{new_col}})が既存の列名と重複しています。
直し方 — 別の名前にするか、「既存列に上書き」に切り替えてください。
始点値が月になっていない
「丸め処理の始点値を指定する」に、1〜12 の整数以外を入れたとき。数値として読めない文字を入れたときも同じです。
丸め処理の始点値は1~12の整数で入力してください。
直し方 — 区切りの開始月を 1 から 12 の整数で入れてください。この欄は日付ではなく月の番号です。「自分で設定」の始点(日付を入れる欄)とは別のものです。
よく使う例
1. 日別のデータを月単位にする
お題 — 日ごとの売上を月別の推移で見たい
入力
| 日付 | 売上 |
|---|---|
| 2024-04-03 | 1000 |
| 2024-04-28 | 1500 |
| 2024-05-02 | 800 |
設定
| 設定項目 | 値 |
|---|---|
| 結果の挿入先を設定 | 新規列に挿入 |
| 新規列名を入力 | 対象月 |
| 日付列を選択 | 日付 |
| 処理タイプを選択 | よく使われる方法から選択 |
| 処理を選択 | 日→月に丸める |
出力 — 2024-04-01 / 2024-04-01 / 2024-05-01 の日付型。データ集計のキーにします。日付型なのでグラフの時系列の軸にも使えます。
2. 週単位でまとめる
お題 — 週次のレポートを作りたい
入力 — 日付(日付型)と売上が入ったデータ
設定
| 設定項目 | 値 |
|---|---|
| 新規列名を入力 | 対象週 |
| 処理を選択 | 日→週に丸める |
| 週頭の曜日を指定する | 月曜 |
出力 — 2024年04月第3週 のような文字列。データ集計のキーにできます。
3. 年度単位でまとめる
お題 — 年度ごとの売上を出したい
入力 — 計上日(日付型)と売上が入ったデータ
設定
| 設定項目 | 値 |
|---|---|
| 新規列名を入力 | 年度 |
| 処理を選択 | 月→年度に丸める |
| 丸め処理の始点値を指定する | 年度の開始月(空なら 4) |
出力 — 2024年度 のような文字列。開始月より前の月は 1 つ前の年度になります。
4. アクセスログを 15 分ごとに数える
お題 — アクセスの山がどの時間帯に立つかを 15 分刻みで見たい
入力
| アクセス日時 |
|---|
| 2024-04-15 13:07:22 |
| 2024-04-15 13:18:40 |
設定
| 設定項目 | 値 |
|---|---|
| 新規列名を入力 | 15分枠 |
| 日付列を選択 | アクセス日時 |
| 処理タイプを選択 | 自分で設定 |
| 丸め幅を指定 | 15 |
| 丸め対象の日付要素を選択 | 分 |
| 丸め処理の始点日時を入力 | 2018-01-01 00:00:00 |
出力 — 2024-04-15 13:00:00 / 2024-04-15 13:15:00 の日付時間型。
5. 四半期ごとの売上を見る
お題 — 四半期ごとの売上を並べたい
入力 — 計上日(日付型)と売上が入ったデータ
設定
| 設定項目 | 値 |
|---|---|
| 新規列名を入力 | 四半期 |
| 処理を選択 | 月→四半期に丸める |
| 丸め処理の始点値を指定する | 四半期の開始月(空なら 1) |
出力 — 2024年度1Q のような文字列。