cBase Output Object

The Integrator cBase output object creates a Spectre cBase to store data for later retrieval with various Spectre access technologies, such as ProDiver or DivePort 7.x, or the cBase input object. It is similar to the classic Builder output object, with the aim to make it easy to switch an Integrator script that uses a Builder output object to one that uses a cBase output object. The attributes are similar and behave in a logical manner.

cBase Attributes

Attribute Type Description
output_type
(required)
String Identifies the object as a cBase output object. The value of the string is "cbase".
input
(required)
String Defines the object from which the data flow is arriving.
output
(required)
String Specifies the location and name of the cBase to be created by the build process. The file extension is .cbase.
columns Array of Strings Defines the names of columns that will be stored in the cBase. Normally this attribute does not need to be defined since Integrator will check the various cBase attributes (such as dimensions, summary, info, sort, etc.) and store the columns as necessary. The columns attribute allows the user to override Integrator's list in case the correct set of columns are not stored.
column_order String Determines if the column order of a cBase should be preserved when the cBase is opened in ProDiver. The value of the string is "preserve".
remove_columns Array of Strings Allows columns to be excluded from the cBase output object. Each string names a column that should not be included in the output cBase, allowing Integrator to output a subset of the columns without having to list all the desired output columns, either in the columns attribute or the dimensions, summary and info attributes. The column properties for unlisted columns will be the defaults given by the Spectre build process. The columns and remove_columns attributes are mutually exclusive.
dimensions Array of Strings Contains an array of names, one for each Dimension to be defined in the cBase. These names should each start with a letter, be enclosed in quotes, and be separated by commas. These columns will have the "Suggested Dimension" property set, and appear as Dimensions in the ProDiver console.
summary Array of Strings Contains an array of names, one for each Summary column to be defined in the cBase. These names should each start with a letter, be enclosed in quotes, and be separated by commas. These columns will be available as summaries when the cBase is opened in ProDiver.
info Array of Strings

Contains an array of sub-strings, one for each Info item to be defined in the cBase. Each sub-string consists of the Info item, followed by an optional colon colon (:) and a Dimension it depends on. The given columns are marked as non-dimension columns in the cBase. Each column should be surrounded by quotes and separated by commas.

NOTE: Marking a column as an info in a cBase-output object is the same as setting the required-dimension attribute in a Build script.

sort Array of Strings Provides an alternative sort option. By default, when diving into data, Diver sorts low to high in the following order:
  1. Numbers
  2. Uppercase characters
  3. Lowercase characters
To change the sort order use the sort attribute to provide an alternate sort option. Alternate sort is an internal sort within a cBase of one column following the default sort of another column. The sort attribute contains an array of sub-strings, one for each alternative sort to be defined in the cBase. Each sub-string consists of the Dimension, a colon (:), and the alternative sort column. Each should be surrounded by quotes and separated by commas. An example of an alternate sort would be to sort the Dimension “parts” by “part number” rather than alphabetically. “Part number” need not be a Dimension in the cBase (it could be an Info Field), although it does need to be part of each record in the input file.
types Array of Strings

Contains an array of strings, one for each column in the output cBase that should be given a specific type. The column name is followed by a colon (:) and the requested type for that column. For example: Units:integer.

Possible types are string, integer, fixed100, double, boolean, date, period, and datetime. These correspond to Spectre date types. See Spectre Data Types.

The types array is an alternate way to specify column types instead of the string and dates attributes. Columns can appear in both places, provided that the types do not conflict.

NOTE: The Visual Integrator interface includes a list for each row where you can set these column types.

string Array of Strings Contains an array of strings, one for each item in the input flow that should be treated as a string. Treating numeric data as string preserves leading zeros. Columns that contain entirely numeric data are normally considered numeric columns; any leading zeros are stripped off. If desired, numeric data can be handled as string data. This is useful for numeric data that should not have any calculations made on it, such as zip code or part number. The string format preserves any leading zeroes in the data and allows use of the string manipulation functions.
dates Array of Strings Contains an array of strings, one for each column in the input flow that should be marked as a date.
formats Array of Strings Contains an array of strings, one for each date, period, or datetime column. The field name is followed by a colon (:) and the date, period, or datetime format. For example: "Discharge Date:YYYY/MM/DD" and "Order Quarter:YYYY/QQ."
calendars Array of Strings

Contains an array of strings that defines calendars for period columns. The field name for the period column is followed by a colon (:) and the calendar name. Valid calendars are the one described in the Spectre topics (Date and Time Functions, Time-Series Functions, Creating a Custom Calendar): gregorian month, gregorian quarter, iso8601 week, gregorian+<N> month or a custom calendar file.

Examples: "Order Month:gregorian month" and "Fiscal period:/calendars/fiscal.cbase."

nullable Array of Strings Contains an array of strings, one for each summary field that contains nullable data. Normally, null values in input are treated as zeros. If a field is set to be nullable, the cBase will distinguish between zeros and nulls. This count will be used when calculating averages and standard deviations on the field in ProDiver. The null values will be preserved in calculations wherever possible. For more information, see Null Values in Spectre.
ignore_similar_values Boolean Specifies whether suspiciously similar values in a column are warned about. If "true", these checks are not performed. If "false", they are and warnings will be issued.
temp_directory String

Defines the directory which will be used to hold temporary files used in the cBase build. These files will be named: di-chunk-cache-<number> where <number> is a random number. These temporary files are automatically deleted when the cBase build is successfully finished.

This attribute is optional, but it is good practice to specify a temporary location known to have enough space for the build. If this attribute is not specified when running within a project, the project temp directory (/temp) is used if it exists.

extract_time String

Defines an extract_time that describes when the input data was extracted from the source data.
If extract_time has the value "now", the extract time will be set to be the build time. Otherwise, extract_time should be given a date in the form of "YYYY-MM-DD" or "YYYY/MM/DD", or a date and time in the format of "YYYY-MM-DD HH:MM:SS" or "YYYY/MM/DD HH:MM:SS". If only a date is given, the time will be set to 12 noon of that date. Used in Diver Reports or Report Palettes to populate the $EXTRACT_DATE and $EXTRACT_TIME variables. For more information, see the ProDiver Help > About Text Variables.

NOTE: The build time is recorded automatically and is available in Diver Reports using $BUILD_DATE and $BUILD_TIME.

comments String Allows the Model creator to include text information that will later be available through Diver’s Info option in the Open Model dialog, or through the variable $COMMENTS used in Diver Reports or Report Palettes. For more information, see the ProDiver Help > About Text Variables.
footer String Specifies a string of text to be used by Diver as the value of the variable $MODEL_FOOTER, used in Diver Reports and Report Palettes. For more information, see the ProDiver Help > About Text Variables.
model_vars Array of Strings Contains an array of sub-strings, one for each user-defined Model variable to be set in the Model. Each sub-string consists of the variable name, an equal (=) sign, and the variable value. Each should be surrounded by quotes and separated by commas. These model variables are available in the Diver through the $MODELVAR(<variable name>) reporter variable used in Reports and Report Palettes. For more information, see the ProDiver Help > About Text Variables.
trace_before Sub-object Traces data flows entering the specified object. This is equivalent to adding the Trace process object immediately before the current output object. See Embedded Trace Object.

NOTE: Encoding is set based on whether the data is UTF-8 or Latin1 in the input.