はじめに
今回も日時を扱う上で重要ですね。日時ベースでフィルタをしたいときに使います。
今回のテーマ ~Date&Time-based Row Filter~
Workflowは下記からダウンロードできます。
覚えてほしいこと
Inclusiveへのチェックで指定した日時設定を含む
やりたいこと
今回は社員表のデータをベースに2014年代に入社した人を抜き出してみたいと思います。
Date&Time-based Row Filterの使い方
日時ベースでフィルタをしたいときに使います。Loopで過去データまで含めて取り込んだけれど、そこから今日の分だけ抜き出したい!というようなときに私はよく使います。
Workflow
以前行ったように、事前に入社日をDate型にしてから実行します。
Confirm - Before After
入社日のコラムを見ていただくと、2014年代入社の人が抜き出せていることが分かると思います。
Configure
3ステップあります。
Step1 - Column Selection対象コラムを選択
説明するまでもないと思います。フィルタを適用したい日時型のコラムを選択します。
Step2 - Date&Time Selection Start 開始日時を指定
開始日時を指定します。今回は2014年代を抜き出したいので、2014年1月1日を指定します。
2つのオプションがあります。
入力した日時と全く同じ値を含むかどうか。
今回の場合でいうと、2014年1月1日というデータが元データにあった場合、そのデータを含んだ状態で出力したい場合はInclusiveにチェックを入れます。
Startでは基本チェックを入れるのではないでしょうか。
Use Execution date&Time
マニュアルで入力するのではなく、実行時の日時を取得する方法です。今日のデータを抜き出したい!というときにはこれにチェックを入れれば、今日を自動的に取得してフィルタリングができます。
Step3 - Date&Time Selection End 終了日時を指定
最後に終了日時を指定します。指定方法は3種類あります。
- Date&Time:日時をマニュアル入力して指定
- Duration:Startから期間(Duration表現)で換算して指定
- Numerical:Startから数字と単位で換算して指定
日時に関するNodeはこの3種類が多いですね。Durationの表現やNumericalの表現は前回扱っているかと思います。
今回はマニュアル入力の例で作ってみました。2015年1月1日を指定しているので、Inclusiveをオフにしている点がポイントです。
今日のデータのみを抜き出したい場合は、Use Execution date&timeのオプションを使いましょう。
ちょっと一言
Duration・Numericalを使用して指定する場合
先ほどDate&Timeで指定する場合で解説しましたが、Duration やNumericalで指定する場合のConfigureも貼っておこうと思います。
Durationで指定
Durationの入力方法は、
KNIME - 時を操る1 日時を作る ~Create Date&Time Range~ -Intervalの表記方法
を参考にしてください。
今回は2014年代なので、1yで1年間を指定して、Inclusiveをオフにしています。
Numerical で指定
続いてNumericalで指定する場合の例です。選択するだけなので、中途半端な期間を指定しないのであれば、こちらの方が楽ですね。
Granuality 意味一覧
- Years: 年
- Months: 月
- Weeks: 週
- Days: 日
- Hours: 時
- Minutes: 分
- Seconds: 秒
- Millis: ミリ秒
- Micros: マイクロ秒
- Nanos: ナノ秒
おわりに
日時のフィルタリングまでできたらもう日時の扱いは習得できたといっていいのではないでしょうか。コメント等あればお待ちしております!ではまた!
余談
今回紹介するのは、「時をかける少女」です。細田守監督の代表作の一つではないでしょうか!個人的に主題歌・挿入歌の奥華子さんの「ガーネット」と「変わらないもの」が好きです。
参考リンク
- KNIME公式Node Pit(英語):
Date&Time-based Row Filter — NodePit
- KNIME Example Workflow(英語):
Date&Time-based Row Filter – KNIME Hub