Dr.Sum Data Funnelでレコードを補間してみた

# 1. はじめに

「[Dr.Sum Data Funnelで異常値を検出してみた](https://qiita.com/LuiLui/items/500459592f89be368110)」ではData Funnelで受信したデータを加工して、異常値を検出してエラーフラグを追加したデータを作成しました。

今回はData Funnelで受信したデータを加工して、レコードの補間を設定していきます。

Dr.Sum Data Funnelの概要、またはデータファイルでの連携については「[Dr.Sum Data FunnelでCSVファイルを連携してみた](https://qiita.com/LuiLui/items/ae0ce6b36a68ee134fed)」を参考にして下さい。


# 2. パイプライン定義で時刻関連項目を設定

※パイプライン定義は「[Dr.Sum Data FunnelでCSVファイルを連携してみた](https://qiita.com/LuiLui/items/ae0ce6b36a68ee134fed)」で使用した「mqttpublish_test」を流用します。

時刻関連項目の設定画面で以下を設定して「追加」ボタンをクリックします。
分析用日時項目：DTTM
項目名：UPDATETIME(任意)
丸め単位：1秒
丸め方：切り捨て
「分析フレームとする」にチェックを入れる
※レコードの補間を設定する場合、「分析フレームとする」をオンにする必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/61557da3-48b1-2f59-792b-9b2c07c78411.png)

項目が追加されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/76e40188-f1ed-2255-babb-9daeb5004bd6.png)


# 3. パイプライン定義でレコードの補間を設定

「データ処理」＞「レコードの補間」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/a1096922-7bf9-bc12-3785-0ddd03b2f94b.png)


レコードの補間画面で以下を設定して「追加」ボタンをクリックします。
説明：前回値で補間(任意)
埋める値
　ARRIVEDTIME：保管された分析フレームから算出される時刻
　TOPIC：前回値
　MACHINE：前回値
　DTTM：保管された分析フレームから算出される時刻(固定)
　STR：前回値
　VAL：前回値
　UPDATETIME：保管された分析フレームから算出される時刻(固定)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/21e78d75-dc7a-7556-a8b0-0fe408864c90.png)

項目が追加されたことを確認して「OK」ボタンをクリックします。
※今回の例では、データが欠損した場合に分析フレーム単位で前レコードの値を使用してデータ補間する設定になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/ab070c3a-d814-ed3d-c5f1-d2572e8c9c2c.png)

※レコードの補間についての詳細は以下のマニュアルを参照下さい。

https://cs.wingarc.com/manual/drsum/5.6/ja/UUID-23c37dc9-c887-fe41-8d30-b754f9e53816.html


# 4. プレビューで確認
設定した処理の動作確認をするために、サンプルデータを使用してプレビューすることができます。

## (1)データの準備
以下のサンプルデータを準備します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/17948f6d-3816-2be9-2f8e-b621cbd4a4da.png)
```
2022/08/18 10:00:01.000000	Test	AAA	2022/08/18 10:00:01.000000	XXX	40
2022/08/18 10:00:02.000000	Test	AAA	2022/08/18 10:00:02.000000	XXX	90
2022/08/18 10:00:03.000000	Test	AAA	2022/08/18 10:00:03.000000	XXX	100
2022/08/18 10:00:04.000000	Test	AAA	2022/08/18 10:00:04.000000	XXX	30
2022/08/18 10:00:06.000000	Test	AAA	2022/08/18 10:00:06.000000	XXX	10
2022/08/18 10:00:07.000000	Test	AAA	2022/08/18 10:00:07.000000	XXX	20
2022/08/18 10:00:08.000000	Test	AAA	2022/08/18 10:00:08.000000	XXX	10
```

## (2)サンプルデータの貼り付け

(1)で準備したサンプルデータをコピーし、「サンプルデータ」の「選択セルから貼り付け」をクリックして、サンプルデータが表示されることを確認します。
※タブ区切りのCSVファイルやExcelから直接貼り付けが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/e7ccf51e-5d5d-8220-c121-d08568035798.png)

## (3)プレビュー
「データ処理」の「プレビュー」ボタンをクリックして「03:レコードの補間」を選択します。
※欠損データとしてサンプルデータから削除したレコード(「2022/08/18 10:00:05」)がレコードの補間機能でデータが生成されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1569715/4ea56804-9a51-05ee-196c-cddcb90e2e8a.png)


# まとめ
Dr.Sum Data Funnelの加工処理の「レコードの補間」で欠損したデータを分析フレーム単位で補間する方法について説明しました。プログラムを書かなくても手軽に加工処理ができることがわかっていただけたと思います。

ウイングアーク1st社のホームページからDr.Sum Data Funnelハンズオンの申込ができるようです。
興味がある方はぜひ申込してみてください！