Measure Factory Enhancements

Workbench 7.1(13) offers new features that enhance the usability of Measure Factory. The following items reflect changes made to the configuration and build process.

Factory Data Set Inputs

The inputs for data sets are generalized. In the past, data sets used cBases as the only data source. In version 7.1(13) and later, data sets can use text files, ODBC sources, Spectre Dives, Integrator Tunnel scripts, and factory Plugins as sources for data as well as cBases. New tags are described in Data Sets Tags. Note that this generalization includes operations on the input data, much like what a Spectre Build script can do. The Workbench text editor can extrapolate the tags for these new data sources, but you cannot currently use the Measure Factory Editor to add or edit them.

Setup Rules

There is a new rule type. Previously, when an input source is identified for the factory, all data columns are automatically included as source rules. Version 7.1(13) introduces setup rules as the recommended alternative to source rules. Setup data rules explicitly define which columns the build imports. If you define any setup rules in a data set, only the input columns that you define as setup rules appear in the final data set; the build excludes all other input columns. A data set with no setup rules preserves the earlier behavior of importing all input columns into the data set at build time.

See Factory Setup Rules.

Lookup Tables

Requirements for lookup tables are loosened. Previously, lookup tables needed to start with a specially named and constructed text file in the config directory. In version 7.1(13) and later, lookup tables can use any Spectre input, can refer to files outside of the config directory, and can use input operations similar to Spectre Builds. The Measure Factory Editor can decipher scripts using this feature, but does not support editing them.

In addition, the date-rule in a lookup table is now optional, so lookups can be done without date range columns. If you still want dates to control the lookup results, you have the option to use alternative names for the start and end date columns.

See the new date-range-columns tag and the following Help pages: Measure Factory Project Requirements, Requirements for Measure Factory Lookup Tables, and Lookup Tables Tags.

Factory Parameters at Build Time

Parameter usage is expanded. Version 7.1 introduced the idea of run-time parameters for Measure Factory. These parameters are defined in the configuration but are not evaluated until a built factory is queried.

Version 7.1(13) introduces support for build-time parameters. You define these parameters in your factory configuration using the Spectre parameter syntax. Values are passed and used during the factory build. Production’s Build Factory node type does not support passing parameters to a factory build. Therefore, you can only use build-time parameters on the command line or with a Production Execute node.

See Build-Time Parameters Tags.

Measure Factory Date

Handling of date is improved. Key to the Measure Factory processing is the “date” dimension. You can now, at the top level, specify an alternative name for the required Date element. The date-name tag makes the date localization easy and intuitive.

See Factory Configuration File Tags.

Factory Plugin Scripts

There are more options for plugin scripts. Previously, Measure Factory plugins were based on Data Integrator scripts. Version 7.1(13) introduces the option to use a Spectre Build script as the source.

See Factory Plugin Configuration File Overview.

Factory Output

Factory output is tightened. Intermediate build files are no longer copied into /factory-output, which makes it easier to copy factory output from site to site. When upgrading to version 7.1(13), plan on a complete rebuild of the factory. This ensures that any processes that use partial factory rebuilds with intermediate build output can run successfully.

See Factory Output Overview.

Creating New Data Sets Within the Factory Run

Data can be created completely inside the factory. Previously, data for a factory needed to exist before the factory could run. Version 7.1(13) introduces the ability to create a new cBase while the factory processing proceeds through its steps. Data sets that are defined using a plugin-input as the data source are created during the factory run. Note that a plugin-input can specify other data sets to draw data from. This allows a plugin to generate a data set from another data set—for example, to squash an existing data set to create a different level of detail in the new one.

See the plugin-input tag in Data Sets Tags and Plugin Versus Plugin-Input.

Maintaining Factory Configuration in Multiple Files

There are now more options for handling the factory configuration. Measure Factory configuration files can contain thousands of lines of code, which might be problematic when multiple people need to edit the configuration at the same time. In earlier releases, Workbench uses a single file, potentially resulting in lost edits.

Version 7.1(13) introduces the option to segment your factory configuration script. Data sets and scopes can be extracted into their own files and replaced in the main configuration file with stubs that point to the segmented code. If measures are defined inside the scope block, they can also be included in the new scope file. The Measure Factory Editor does not support these external data set and scope files.

See Multiple Configuration Files.