累積合計と累積比率を求める(SPSS Modeler データ加工逆引き3-4)

# 累積合計と累積比率の作成（累積合計と累積比率）

![スクリーンショット 2022-06-22 10.15.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9072def6-b148-d0b9-4970-da8cf07ee0f3.png)

## 1.想定される利用目的

・集計表の作成
・異常検知や故障予測のための特徴量の作成


## 2.サンプルストリームのダウンロード

https://github.com/yoichiro0903n/blue/blob/main/total_sum.str?raw=true

## 3.サンプルストリームの説明

![スクリーンショット 2022-06-22 10.15.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d8e7e81a-1510-8e9e-e839-068eaada135a.png)

a.入力するデータは以下の通りです。
![スクリーンショット 2022-06-22 9.32.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/161c443a-c324-983e-fda4-7aeac41c3fc6.png)

b.[レコード集計]ノードを編集します。[キーフィールド]をブランクにすると全レコード（行）を要約します。[集計フィールド]に[実績]を選択して[合計]にチェックを入れています。[フィールドにレコード集計を含める]にはチェック不要です。
![スクリーンショット 2022-06-22 10.18.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/4164e5fa-1faa-ad6f-8100-54e7806a7c92.png)

[プレビュー]をします。実績の平均を意味する[実績_Sum]のみ1レコードできています。
![スクリーンショット 2022-06-22 10.18.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3756f695-09d8-f8a1-048b-63bbaf8d2b38.png)

c.[レコード結合]で元のテーブルの7行全てに[実績_Sum]を追加します。[レコード結合方法]を[キー]にしますが、[キー]をブランクにすることでテーブル通しをN対N（総当たり）で結合します。
![スクリーンショット 2022-06-22 9.32.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/fada1ece-46c0-827c-8916-647a3f8b22fe.png)

[プレビュー]をします。全てのレコードに全体の合計列が追加されました。
![スクリーンショット 2022-06-22 10.19.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/7cc56a48-768c-a460-cd97-3b26ae2be7ae.png)

d.[フィールド作成]で累積合計を作成します。列方向の計算を行う@&#xFFF0;関数を利用します。
![スクリーンショット 2022-06-22 10.19.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/588376bc-270c-b8a8-30ba-9333b312e40f.png)

式ビルダーの@&#xFFF0;関数を利用すると簡単に入力できます。
![スクリーンショット 2022-06-22 10.35.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8af260c1-ebbb-e32b-d8d6-ebc48869bb6c.png)

[プレビュー]をします。累積合計列ができています。
![スクリーンショット 2022-06-22 10.20.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6d3c441e-a005-5405-7ab1-155345af9de2.png)

[テーブル]を実行します。
![スクリーンショット 2022-06-22 9.37.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3dd71653-3542-e004-a4c5-d43fee2dfd9c.png)

e.累積値を合計列から割れば完成です。分子は先に作成した[累積合計]でもOKです。
![スクリーンショット 2022-06-22 10.20.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6f1cfa2d-02e6-3067-9c6d-456596eb1d75.png)

[テーブル]を実行します。累積比率ができました。
![スクリーンショット 2022-06-22 10.20.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3b445e47-4f89-15c9-c821-2400ee40c049.png)

#### グローバルノードを利用した方法

f.[グローバルの設定]ノードで統計量をあらかじめメモリーにキャッシュできます。
![スクリーンショット 2022-06-22 10.21.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/148b64bf-7286-c2a5-74c2-505709f478b9.png)

[実行]するとメモリー上のグローバル値（ここでは合計）をプレビューします。
![スクリーンショット 2022-06-22 10.21.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/98f21385-bea5-929f-0349-05b02ed274b1.png)

g.[フィールド作成]で累積合計を作成します。列方向の計算を行う@&#xFFF0;関数を利用します。
![スクリーンショット 2022-06-22 10.19.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/588376bc-270c-b8a8-30ba-9333b312e40f.png)

式ビルダーの@&#xFFF0;関数を利用すると簡単に入力できます。
![スクリーンショット 2022-06-22 10.35.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8af260c1-ebbb-e32b-d8d6-ebc48869bb6c.png)

h.[フィールド作成]ノードを編集します。メモリー上のグローバル値を関数で呼び出します。
![スクリーンショット 2022-06-22 10.22.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ca6ba14e-52aa-a48b-c39c-fdaa23b69c41.png)

式ビルダーの@&#xFFF0;グローバル関数を利用すると簡単に入力できます。
![スクリーンショット 2022-06-22 10.22.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f429ec0c-7016-1b3f-077c-86c5ad647f11.png)

[テーブル]を実行します。累積合計と累積比率の列ができています。
![スクリーンショット 2022-06-22 10.23.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3eabe82a-43ae-8c7f-787e-ee883759f823.png)

#### @関数を用いて集計表を作る方法を解説した記事

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

#### グローバルの設定の注意点

https://qiita.com/416nishimaki/items/c2df811b51166f6d6173#%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%8E%E3%83%BC%E3%83%89%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9

## 4.参考情報

#### [レコード結合]の解説記事

https://qiita.com/416nishimaki/items/be61a82c12cd83558def

#### [グローバルの設定]の解説記事

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-12/

#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/private/4bf813e6cba84b2a1008