ある日付以前のレコードのみを抜き出す、もしくは、ある時刻のレコードのみを抜き出すなど、日付を条件にして条件を満たすデータを抽出する方法を説明します。
説明
MSIPでは行選択アイコンを用いて、日付型、日時型に対して、条件を満たすレコードのみを抽出することができます。
例えば、テーブルデータの中に、以下のように日付の値が格納された「日付」列があるとします。
ここから、2023/4/1以前のレコードだけ抽出すると、以下のようになります。
このように、大量にあるレコードの中から、日付を条件にして一部のレコードのみを抽出することができます。
使い方
行選択アイコンでは、抽出条件にdatetime
を利用することができます。
例えば、2023年4月1日以前のレコードを抜き出すには、日付型の列の値がdatetime(2023,4,1)
以下という条件で行選択アイコンを実行します。
- データに行選択アイコンを接続します。
- パラメータ設定画面の「選択列」で日付型もしくは日時型の列を指定します。
- 「演算子」に「<=」を選択します。
- 「式」に「datetime(2023, 4, 1)」を入力します。
- 実行すると、日付が2023年4月1日以前のレコードのみが抽出され、出力されます。
同様に、2023年10月1日のレコードのみを抜き出すには、datetime(2023, 10, 1)
と等しいという条件で行選択アイコンを実行します。
分析への応用
時系列データ分析をおこなう場合、例えば前年度のデータを元に学習モデルを作成し、その学習モデルを用いて今年度の予測、またはモデルの検証をおこなう場合があります。
そのような場合には、データを前年度のレコードからなるデータと、今年度のレコードからなるデータに分けなければなりません。
MSIPには日時を条件にレコードを抽出する機能がありますので、データ投入時に全データを投入してしまえば、あとでMSIPの機能でレコードを抽出することができます。
そのため、データ投入時には、分析時にどのようにデータを分けるかといったことに悩む必要はありません。
また、分析途中で四半期ごとにデータを分けたいと思ったとしても、抽出条件を変えるだけで済みますので柔軟な分析が可能です。
OnePoint
より詳細なレコード抽出
上記の行選択アイコンのみを用いた方法では、例えば、毎月1日のレコードを抜き出すというような処理は行えません。
このような場合には日時情報アイコンを用いて、まず日付の値から「日」の値を抜き出し、毎月1日と等しいという条件で行選択アイコンを実行します。
- データに日時情報アイコンを接続します。
- パラメータ設定画面を開き、「日」にチェックを入れます。
- 実行すると、「日」の値を抽出した列が追加され、出力されます。
- 日時情報アイコンに行選択アイコンを接続します。
- パラメータ設定画面を開き、「対象列」に「日」を指定します。
- 「演算子」に「==」(等しい)を選択し、「式」に「1」を入力します。
- 実行すると、「日」の値が1のレコードのみが抽出されます。
なお、条件に範囲を指定することで、毎月1日から10日のレコードのみを抽出するなどといったことも可能です。
時、分、秒までのデータがある場合
データの対象列が日時型で、時、分、秒の情報もある場合には、行選択アイコンのパラメータ編集画面の条件で
datetime(2023, 4, 1, 0, 0, 0)
(2023年4月1日0時0分0秒)
のように指定することで、時、分、秒単位でのレコード抽出も可能です。
また、日時情報アイコンで、時、分、秒の抜き出しが出来ますので、毎時0分のレコードを抽出する、毎日9時から17時までのレコードを抽出するといったこともできます。