Modelerデータ加工Tips#03例題2解答例1（7手詰め）

## Modelerデータ加工TIPS＃03 例題２解答例（７手詰め）

完成したストリームです。

<img width="700" alt="スクリーンショット 2021-03-09 10.46.04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/af36e3db-38fd-cb12-b286-6c65a520c867.png">

Fillerまでで作成された元データを確認します。

<img width="250" alt="スクリーンショット 2021-03-09 10.49.11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/fcc6db88-2d6b-1a07-9504-ddb946862d81.png">

①-1 フィールド作成ノードで欠損レコードにカウント列を作ります。

<img width="600" alt="スクリーンショット 2021-03-09 10.46.26.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/808e72d6-fdd4-63c1-db1d-4c32802abd60.png">

①-2 欠損レコードにカウントが作られました。

<img width="300" alt="スクリーンショット 2021-03-09 10.49.29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/cdeee196-cb1e-d4ea-3693-dc9b3bd3c008.png">


②-1　欠損する直前の値を埋めます。

<img width="500" alt="スクリーンショット 2021-03-09 10.47.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/acec1564-681a-5827-a93f-c2f08b653153.png">

②-2　Tips＃03ブログ本編の例題１と結果として同じ列です。

<img width="320" alt="スクリーンショット 2021-03-09 10.48.04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/4283fbfb-21b9-ecce-017f-e1e815e27b22.png">

③-1　降順ソートします。

<img width="500" alt="スクリーンショット 2021-03-09 10.48.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/1ddfe45c-938c-750e-66e4-51081a56ca89.png">

③-2 時系列が逆転しました。

<img width="320" alt="スクリーンショット 2021-03-09 10.48.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/40a7cece-2937-2630-f28c-19f541b10e36.png">

④-1 先の①と同じ欠損レコードのカウント列を作ります。

<img width="700" alt="スクリーンショット 2021-03-09 10.50.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/354ba067-75bf-f684-4ad0-af1aa2cca89f.png">

④-2　①と反転するように時系列逆転の欠損時カウントができました。

<img width="370" alt="スクリーンショット 2021-03-09 10.50.58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c4b497b2-5d9b-610e-a002-cddb0672e96b.png">

⑤-1 先ほどの②と同じフィールドを時系列逆転の状態で作ります。

<img width="400" alt="スクリーンショット 2021-03-09 10.51.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/dbf6d29d-41a8-a771-dfea-7e1f707e5d29.png">

⑤-2　欠損が始まると時間的には最新の情報が代入されます

<img width="400" alt="スクリーンショット 2021-03-09 10.51.32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/fb0ef717-46fa-011b-e3ac-24ea212130b2.png">


⑥　昇順ソートで時間を戻します。

<img width="400" alt="スクリーンショット 2021-03-09 10.52.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/754cd35b-ce69-7862-4475-4456a2139a13.png">

⑦-1　次のClem式で欠損を置換えます。
欠損開始から何レコード目か（startvalue）と欠損終了まで何レコードか（endvalue）を分母にして欠損開始から終了までの差分を割ると傾きが得られます。これをstartvalueに加える方法を取りました。

<img width="700" alt="スクリーンショット 2021-03-09 10.52.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f0fbf48d-cef6-23c9-35cf-91d2241ca8b1.png">

⑦-2　完成しました。

<img width="500" alt="スクリーンショット 2021-03-09 13.02.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5d5b439a-24be-62fe-222b-6442ca29f7db.png">

オリジナルの記事

https://www.ibm.com/blogs/solutions/jp-ja/modeler-tips-03/