Source Node Common Properties

Properties that are common to all source nodes are listed below, with information on specific nodes in the topics that follow.

Example 1

varfilenode = modeler.script.stream().create("variablefile", "Var. File")
varfilenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
varfilenode.setKeyedPropertyValue("check", "Age", "None")
varfilenode.setKeyedPropertyValue("values", "Age", [1, 100])
varfilenode.setKeyedPropertyValue("type", "Age", "Range")
varfilenode.setKeyedPropertyValue("direction", "Age", "Input")

Example 2

This script assumes that the specified data file contains a field called Region that represents a multi-line string.

from modeler.api import StorageType
from modeler.api import MeasureType

# Create a Variable File node that reads the data set containing
# the "Region" field
varfilenode = modeler.script.stream().create("variablefile", "My Geo Data")
varfilenode.setPropertyValue("full_filename", "C:/mydata/mygeodata.csv")
varfilenode.setPropertyValue("treat_square_brackets_as_lists", True)

# Override the storage type to be a list...
varfilenode.setKeyedPropertyValue("custom_storage_type", "Region", StorageType.LIST)
# ...and specify the type if values in the list and the list depth
varfilenode.setKeyedPropertyValue("custom_list_storage_type", "Region", StorageType.INTEGER)
varfilenode.setKeyedPropertyValue("custom_list_depth", "Region", 2)

# Now change the measurement to indentify the field as a geospatial value...
varfilenode.setKeyedPropertyValue("measure_type", "Region", MeasureType.GEOSPATIAL)
# ...and finally specify the necessary information about the specific
# type of geospatial object
varfilenode.setKeyedPropertyValue("geo_type", "Region", "MultiLineString")
varfilenode.setKeyedPropertyValue("geo_coordinates", "Region", "2D")
varfilenode.setKeyedPropertyValue("has_coordinate_system", "Region", True)
varfilenode.setKeyedPropertyValue("coordinate_system", "Region",
 "ETRS_1989_EPSG_Arctic_zone_5-47")
Table 1. Source node common properties
Property name Data type Property description
direction Input Target Both None Partition Split Frequency RecordID Keyed property for field roles. Usage format: NODE.direction.FIELDNAME
Note: The values In and Out are now deprecated. Support for them may be withdrawn in a future release.
type Range Flag Set Typeless Discrete Ordered Set Default Type of field. Setting this property to Default will clear any values property setting, and if value_mode is set to Specify, it will be reset to Read. If value_mode is already set to Pass or Read, it will be unaffected by the type setting. Usage format: NODE.type.FIELDNAME
storage Unknown String Integer Real Time Date Timestamp Read-only keyed property for field storage type. Usage format: NODE.storage.FIELDNAME
check None Nullify Coerce Discard Warn Abort Keyed property for field type and range checking. Usage format: NODE.check.FIELDNAME
values [value value] For a continuous (range) field, the first value is the minimum, and the last value is the maximum. For nominal (set) fields, specify all values. For flag fields, the first value represents false, and the last value represents true. Setting this property automatically sets the value_mode property to Specify. The storage is determined based on the first value in the list, for example, if the first value is a string then the storage is set to String. Usage format: NODE.values.FIELDNAME
value_mode Read Pass Read+ Current Specify Determines how values are set for a field on the next data pass. Usage format: NODE.value_mode.FIELDNAME Note that you cannot set this property to Specify directly; to use specific values, set the values property.
default_value_mode Read Pass Specifies the default method for setting values for all fields. Usage format: NODE.default_value_mode This setting can be overridden for specific fields by using the value_mode property.
extend_values flag Applies when value_mode is set to Read. Set to T to add newly read values to any existing values for the field. Set to F to discard existing values in favor of the newly read values. Usage format: NODE.extend_values.FIELDNAME
value_labels string Used to specify a value label. Note that values must be specified first.
enable_missing flag When set to T, activates tracking of missing values for the field. Usage format: NODE.enable_missing.FIELDNAME
missing_values [value value ...] Specifies data values that denote missing data. Usage format: NODE.missing_values.FIELDNAME
range_missing flag When this property is set to T, specifies whether a missing-value (blank) range is defined for a field. Usage format: NODE.range_missing.FIELDNAME
missing_lower string When range_missing is true, specifies the lower bound of the missing-value range. Usage format: NODE.missing_lower.FIELDNAME
missing_upper string When range_missing is true, specifies the upper bound of the missing-value range. Usage format: NODE.missing_upper.FIELDNAME
null_missing flag When this property is set to T, nulls (undefined values that are displayed as $null$ in the software) are considered missing values. Usage format: NODE.null_missing.FIELDNAME
whitespace_missing flag When this property is set to T, values containing only white space (spaces, tabs, and new lines) are considered missing values. Usage format: NODE.whitespace_missing.FIELDNAME
description string Used to specify a field label or description.
default_include flag Keyed property to specify whether the default behavior is to pass or filter fields: NODE.default_include Example: set mynode:filternode.default_include = false
include flag Keyed property used to determine whether individual fields are included or filtered: NODE.include.FIELDNAME.
new_name string  
measure_type Range / MeasureType.RANGE Discrete / MeasureType.DISCRETE Flag / MeasureType.FLAG Set / MeasureType.SET OrderedSet / MeasureType.ORDERED_SET Typeless / MeasureType.TYPELESS Collection / MeasureType.COLLECTION Geospatial / MeasureType.GEOSPATIAL This keyed property is similar to type in that it can be used to define the measurement associated with the field. What is different is that in Python scripting, the setter function can also be passed one of the MeasureType values while the getter will always return on the MeasureType values.
collection_measure Range / MeasureType.RANGE Flag / MeasureType.FLAG Set / MeasureType.SET OrderedSet / MeasureType.ORDERED_SET Typeless / MeasureType.TYPELESS For collection fields (lists with a depth of 0), this keyed property defines the measurement type associated with the underlying values.
geo_type Point MultiPoint LineString MultiLineString Polygon MultiPolygon For geospatial fields, this keyed property defines the type of geospatial object represented by this field. This should be consistent with the list depth of the values.
has_coordinate_system boolean For geospatial fields, this property defines whether this field has a coordinate system
coordinate_system string For geospatial fields, this keyed property defines the coordinate system for this field.
custom_storage_type Unknown / MeasureType.UNKNOWN String / MeasureType.STRING Integer / MeasureType.INTEGER Real / MeasureType.REAL Time / MeasureType.TIME Date / MeasureType.DATE Timestamp / MeasureType.TIMESTAMP List / MeasureType.LIST This keyed property is similar to custom_storage in that it can be used to define the override storage for the field. What is different is that in Python scripting, the setter function can also be passed one of the StorageType values while the getter will always return on the StorageType values.
custom_list_storage_type String / MeasureType.STRING Integer / MeasureType.INTEGER Real / MeasureType.REAL Time / MeasureType.TIME Date / MeasureType.DATE Timestamp / MeasureType.TIMESTAMP For list fields, this keyed property specifies the storage type of the underlying values.
custom_list_depth integer For list fields, this keyed property specifies the depth of the field
max_list_length integer Only available for data with a measurement level of either Geospatial or Collection. Set the maximum length of the list by specifying the number of elements the list can contain.
max_string_length integer Only available for typeless data and used when you are generating SQL to create a table. Enter the value of the largest string in your data; this generates a column in the table that is big enough to contain the string.