コンテンツにスキップ

日付の丸め

日付を一定の区切りの先頭に寄せます。日別のデータを週単位・月単位にまとめる、分単位の記録を 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年度2Q2023年度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-031000
2024-04-281500
2024-05-02800

設定

設定項目値
結果の挿入先を設定新規列に挿入
新規列名を入力対象月
日付列を選択日付
処理タイプを選択よく使われる方法から選択
処理を選択日→月に丸める

出力 — 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 のような文字列。

関連