Глобальные значения
Глобальные значения используются при вычислении разнообразных сводных статистических показателей для заданных полей. К этим сводным значениям можно получить доступ отовсюду в потоке. Глобальные значения похожи на параметры потока тем, что к ним можно обратиться отовсюду в потоке по имени. Они отличаются от параметров потока тем, что связанные значения изменяются автоматически при запуске узла Задать глобальные значения, а не назначаются сценарием или из командной строки. К глобальным значениям для потока можно обратиться, вызвав метод потока getGlobalValues().
Объект GlobalValues определяет функции, показанные в следующей таблице.
| Метод | Возвращаемый тип | Описание |
|---|---|---|
g.fieldNameIterator() |
Итератор | Возвращает итератор для каждого имени поля по крайней мере с одним глобальным значением. |
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")