Глобальные значения

Глобальные значения используются при вычислении разнообразных сводных статистических показателей для заданных полей. К этим сводным значениям можно получить доступ отовсюду в потоке. Глобальные значения похожи на параметры потока тем, что к ним можно обратиться отовсюду в потоке по имени. Они отличаются от параметров потока тем, что связанные значения изменяются автоматически при запуске узла Задать глобальные значения, а не назначаются сценарием или из командной строки. К глобальным значениям для потока можно обратиться, вызвав метод потока getGlobalValues().

Объект GlobalValues определяет функции, показанные в следующей таблице.

Табл. 1. Функции, определенные объектом 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")