グローバル値

グローバル値は、 指定したフィールドの各種の要約統計量を計算するために使用します。これらの要約値には、 ストリーム内の任意の場所からアクセスできます。グローバル値は、 ストリームから名前でアクセスできるという点でストリーム・パラメーターと似ています。ストリーム・パラメーターとの相違点は、 スクリプトやコマンド・ラインから代入するのではなく、 グローバルの設定ノードが実行されると関連付けられた値が自動的に更新されることです。ストリームのグローバル値にアクセスするには、 ストリームの getGlobalValues() メソッドを呼び出します。

GlobalValues オブジェクトは、以下の表に示す関数を定義しています。

表 1. GlobalValues オブジェクトによって定義されている関数
メソッド 戻り値の型 説明
g.fieldNameIterator() イテレーター グローバル値を 1 つ以上持つ各フィールド名の反復子を返します。
g.getValue(type, fieldName) オブジェクト 指定されたデータ型およびフィールド名のグローバル値を返します。 値が見つからない場合は None を返します。返される値は一般に数値ですが、 将来の実装では別の型の値を返すようになる可能性があります。
g.getValues(fieldName) マップ 指定されたフィールド名の既知のエントリーを含むマップを返します。 フィールドに既存のエントリーがない場合は None を返します。

GlobalValues.Type は、 使用可能な要約統計量のタイプを定義します。以下の要約統計量が使用可能です。

  • MAX: フィールドの最大値。
  • MEAN: フィールドの平均値。
  • MIN: フィールドの最小値。
  • STDDEV: フィールドの標準偏差。
  • SUM: フィールドの値の合計。

例えば、以下のスクリプトは「income」フィールドの平均値にアクセスします。 このフィールドは、グローバルの設定ノードによって計算されます。

import modeler.api

globals = modeler.script.stream().getGlobalValues()
mean_income = globals.getValue(modeler.api.GlobalValues.Type.MEAN, "income")