3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excelからスクリプトを生成させてフィールド作成に一括反映する(SPSS Modeler データ加工逆引き9-25)

3
Posted at

Excelからスクリプトを生成させてフィールド作成に一括反映する

スクリーンショット 2025-11-28 9.22.02.png

1.想定される利用目的

・数値データから非常に多くのカテゴリを定義しなくてはならない
・カテゴリの定義の可読性を確保したい
・カテゴリの定義をExcelで管理したい

2.サンプルストリームとExcel定義体のダウンロード

ストリーム
https://github.com/yoichiro0903n/blue/raw/refs/heads/main/excel2script.str

Excel
https://github.com/yoichiro0903n/blue/raw/refs/heads/main/Excel2pythonxlsx.xlsx

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

スクリーンショット 2025-11-28 9.26.37.png

a.データは以下の通りです。Na(ナトリウム)の値をいくつかのカテゴリに分割します。

スクリーンショット 2025-11-28 9.28.41.png

b.[フィールド作成]ノードを編集します。完成形になっていますのでこの後一度設定を消去します。

スクリーンショット 2025-11-28 9.29.18.png

[デフォルト値]をブランクに、全ての設定値と条件をクリアします。

スクリーンショット 2025-11-28 9.29.41.png

Excelで設定した値の定義からスクリプトをコピーする

Excel2pythonxlsx.xlsxをダウンロードして青いセルをコピーします。

このシートはグリーンと黄色のセルを定義すると、自動的にブルーの部分にスクリプトが作成されます。Excelなので行を簡単に増やせます。

スクリーンショット 2025-11-28 9.33.39.png

pythonスクリプト
stream = modeler.script.stream()
node = stream.findByType("derive", "NaRank")
node.setPropertyValue("result_type", "Set")
node.setPropertyValue("set_default", "D")

node.setKeyedPropertyValue("set_value_cond", "Cm" ,  "Na<0.55")
node.setKeyedPropertyValue("set_value_cond", "Bm",  "Na >= 0.55 and Na < 0.65")
node.setKeyedPropertyValue("set_value_cond", "A",  "Na >= 0.65 and Na < 0.75")
node.setKeyedPropertyValue("set_value_cond", "Bp",  "Na >= 0.75 and Na < 0.85")
node.setKeyedPropertyValue("set_value_cond", "Cp" ,  "Na >=0.85")

Modelerのメニュー>ツール>ストリームのプロパティ>実行で以下のようペーストして、赤枠の[実行]ボタンを押します。

スクリーンショット 2025-11-28 9.32.10.png

スクリプトにより、設定が一括反映されました。

スクリーンショット 2025-11-28 9.29.18.png

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

スクリーンショット 2025-11-28 9.29.03.png

注意事項

以上と未満の定義に変更がある場合には、関数を変更してください。複数のフィールド作成ノードがあることを想定して、NaRankという名称はストリーム上で設定しています。スクリプトでノードの生成から名称付与をすることも可能です。

4.参考情報

フィールド作成ノードを制御するスクリプトの詳細

pythonコードでフィールド作成をする際に必要な構造化プロパティー

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

SPSS Modeler 逆引きストリーム集(データ加工)

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?