フィールド名に含まれる値引率をレコードに反映する(SPSS Modeler データ加工逆引き7-21)

# フィールド名に含まれる値引率をレコードに反映する

![スクリーンショット 2024-05-20 13.39.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/7ba44f10-7956-80eb-01ee-8c4a4d3361e0.png)

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

・マスターデータの作成

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

https://github.com/yoichiro0903n/blue/raw/main/filedname_rate.str

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

![スクリーンショット 2024-05-20 13.40.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3e44ae79-6cc0-6a99-d0c5-abe1cb2a3f59.png)

a.入力するデータは以下の通りです。　値をフィールド名に合わせて修正します。

![スクリーンショット 2024-05-20 13.39.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f390ccb1-41e1-106b-b26c-ed41715dffe0.png)

#### 行列が比較的小規模な場合

b.[行列入替]ノードを編集します。

![スクリーンショット 2024-05-20 13.42.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/156bf992-57fb-5b88-202b-30858de4571b.png)

[プレビュー]します。

![スクリーンショット 2024-05-20 13.41.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a5297e64-c331-5322-7048-bd9d2cd7df9a.png)

c.[置換]ノードを編集します。置換[条件]は[％]の文字列を含む場合に。[置換値]はフィールド名に含まれる値引き率です。

![スクリーンショット 2024-05-20 13.45.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/98a9240d-baae-5f43-2055-c874cb900ab6.png)

[プレビュー]します。

![スクリーンショット 2024-05-20 13.45.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/637b3fc9-868a-68d9-772e-50467bef26dc.png)

d.[行列入替]ノードを編集します。

![スクリーンショット 2024-05-20 13.46.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/64e0f9f9-ed6c-47f8-8821-29d3055cc605.png)

[プレビュー]します。

![スクリーンショット 2024-05-20 13.46.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/83985c76-8c8e-5795-5ebb-aab06bb77e18.png)

e.[置換]ノードを編集します。

![スクリーンショット 2024-05-20 13.46.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/7be6a75d-598b-ddaa-a22e-42786f04ca90.png)

[テーブル]を実行します。

![スクリーンショット 2024-05-20 13.47.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c57ebd74-784b-ef55-3eb0-6f9fe83d7f1d.png)

#### グローバルノードで値引率をキャッシュさせる場合

f.先のbと同じ設定です。

g.[フィールド作成]ノードを編集します。

![スクリーンショット 2024-05-20 13.48.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3a16b89d-6c5a-da4e-2c0a-aed33f8f0510.png)

[プレビュー]します。

![スクリーンショット 2024-05-20 13.49.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/50d8efaa-0bc3-c552-b8b3-81da598523b4.png)

h.[行列入替]ノードを編集します。

![スクリーンショット 2024-05-20 13.49.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f9cf1117-ef8d-43cf-8f15-adca8c245306.png)

[プレビュー]します。

![スクリーンショット 2024-05-20 13.50.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3bac8ee3-32e1-1f56-cce3-bbdaae0a3458.png)

i.[グローバル]ノードを編集します。

![スクリーンショット 2024-05-20 14.15.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a8b34a8a-77ae-a076-3322-ebb720c0f690.png)

[実行後に作成されたグローバル値のプレビューを表示]にチェックをして実行します。ストリームの属性としてセッション中は３つの値引率がキャッシュされました。

![スクリーンショット 2024-05-20 13.50.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/0f7a4cdf-1603-a772-0652-4c7484511dd4.png)

j.[置換]ノードを編集します。@&#xFFF0;GLOBAL_MINでグローバル値（先の処理の最小値）を関数に取得します。@&#xFFF0;FIELDはワイルドカードです。３つのフィールドを同時に処理することが可能です。

![スクリーンショット 2024-05-20 13.51.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a328536c-ffc8-cf39-98fa-bde90893646a.png)

[テーブル]を実行します。

![スクリーンショット 2024-05-20 13.52.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9e2ed7a8-76e4-958d-398d-908617304308.png)

#### 注意事項

キャッシュiはjの処理より先に実行している必要があります。

## 4.参考情報

#### グローバルの設定

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

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

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

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

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