システムからダウンロードしたCSVファイルなどを読み込んだ時、日付がただの文字(文字列)として認識されてしまい、エクセルのように日付順で並べ替えたり、期間の計算ができなくて困ったことはありませんか。
この記事では、KNIMEで文字として認識されてしまった日付データを、ツールが正しく日付として扱える形式に変換するString to Date Timeノードの使い方を解説します。
日付の型(データタイプ)について
KNIMEにデータを読み込ませると、各列のタイトルの横に小さなアイコンが表示されます。
たとえば、Sという文字は文字列(String)、Dは小数(Double)、Iは整数(Integer)を表しています。
もし日付の列にSマークがついている場合、KNIMEはそれを2026年3月6日という日付ではなく、単なる記号の並びとして認識しています。
これを日付や時間の専用の型に変換してくれるのが、String to Date Timeノードです。
ノードの設定手順(Modern UI版)
基本的な操作手順に従って、データを読み込むノードから線を繋いで準備をしましょう。
- キャンバスに配置する:画面左側の+ボタンからString to Date Timeを検索し、キャンバスに配置して線をつなぎます。
- 設定画面を開く:ノードをダブルクリックして設定画面を開きます。
- 対象の列を選ぶ:設定画面の上部にあるColumn selectionのリストから、変換したい日付の列を選びます。
日付のフォーマット(形式)を合わせる
このノードで一番重要なのが、Date format(日付の形式)の設定です。
KNIMEに対して、元のデータがどのような並び順で書かれているかを教えてあげる必要があります。
たとえば、元のデータが 2026-03-06 とハイフンで繋がっている場合は、設定画面のフォーマット欄に yyyy-MM-dd と入力します。年がy、月が大文字のM、日が小文字のdです。
もし 2026/03/06 のようにスラッシュで区切られているなら、yyyy/MM/dd と指定します。
KNIMEはとても親切なので、よく使われる日付の形式であれば、Guess data type and formatというボタンを押すだけで、自動的に正しいフォーマットを推測して入力してくれます。
設定ができたらOKを押し、緑色の実行ボタンをクリックします。
処理が終わったデータを確認すると、列のタイトルの横にあったSマークが、カレンダーのようなアイコンに変わっているはずです。
これで正しい日付データになったため、特定の期間だけを抽出する条件分岐なども簡単にできるようになりますよ。
