デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - 時を操る4 日時でフィルタリング ~Date&Time-based Row Filter~

f:id:makkynm:20201220095248p:plain

 

 

はじめに

今回も日時を扱う上で重要ですね。日時ベースでフィルタをしたいときに使います。

 

 今回のテーマ ~Date&Time-based Row Filter~

f:id:makkynm:20200802041436p:plain

今回のテーマ ~Date&Time-based Row Filter~

Workflowは下記からダウンロードできます。

hub.knime.com

 

覚えてほしいこと

Inclusiveへのチェックで指定した日時設定を含む

 

やりたいこと

今回は社員表のデータをベースに2014年代に入社した人を抜き出してみたいと思います。

f:id:makkynm:20200802042541p:plain

やりたいこと - Date&Time-based Row Filter

 

Date&Time-based Row Filterの使い方

日時ベースでフィルタをしたいときに使います。Loopで過去データまで含めて取り込んだけれど、そこから今日の分だけ抜き出したい!というようなときに私はよく使います。

Workflow

以前行ったように、事前に入社日をDate型にしてから実行します。

f:id:makkynm:20200802042720p:plain

Workflow - Date&Time-based Row Filter

Confirm - Before After

入社日のコラムを見ていただくと、2014年代入社の人が抜き出せていることが分かると思います。

f:id:makkynm:20200802042628p:plain

Confirm - Date&Time-based Row Filter

Configure

 3ステップあります。

f:id:makkynm:20200802043854p:plain

Configure - Date&Time-based Row Filter
Step1 - Column Selection対象コラムを選択

説明するまでもないと思います。フィルタを適用したい日時型のコラムを選択します。

 

Step2 - Date&Time Selection Start 開始日時を指定

開始日時を指定します。今回は2014年代を抜き出したいので、2014年1月1日を指定します。

2つのオプションがあります。

 

Inclusive

入力した日時と全く同じ値を含むかどうか。

今回の場合でいうと、2014年1月1日というデータが元データにあった場合、そのデータを含んだ状態で出力したい場合はInclusiveにチェックを入れます。

Startでは基本チェックを入れるのではないでしょうか。

 

Use Execution date&Time

 マニュアルで入力するのではなく、実行時の日時を取得する方法です。今日のデータを抜き出したい!というときにはこれにチェックを入れれば、今日を自動的に取得してフィルタリングができます。

 

Step3 - Date&Time Selection End 終了日時を指定

最後に終了日時を指定します。指定方法は3種類あります。

  1.  Date&Time:日時をマニュアル入力して指定
  2.  Duration:Startから期間(Duration表現)で換算して指定
  3.  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をオフにしています。

f:id:makkynm:20200802045554p:plain

Configure - Date&Time-based Row Filter
Numerical で指定

続いてNumericalで指定する場合の例です。選択するだけなので、中途半端な期間を指定しないのであれば、こちらの方が楽ですね。

Granuality 意味一覧

  • Years: 年
  • Months: 月
  • Weeks: 週
  • Days: 日
  • Hours: 時
  • Minutes: 分
  • Seconds: 秒
  • Millis: ミリ秒
  • Micros:  マイクロ秒
  • Nanos: ナノ秒

f:id:makkynm:20200802045852p:plain

Configure - Date&Time-based Row Filter

おわりに

 日時のフィルタリングまでできたらもう日時の扱いは習得できたといっていいのではないでしょうか。コメント等あればお待ちしております!ではまた!

 

 

 

余談 

 今回紹介するのは、「時をかける少女」です。細田守監督の代表作の一つではないでしょうか!個人的に主題歌・挿入歌の奥華子さんの「ガーネット」と「変わらないもの」が好きです。

 

時をかける少女

時をかける少女

  • 発売日: 2018/04/25
  • メディア: Prime Video
 

 

www.youtube.com

 

 

参考リンク