Derivative

Derivative rules apply logic to stage data and generate additional records in the Stage environment. The two types of derivative rules are Source and Target. 

Source Derivative Rules

Source derivative rules are created to apply logic defined by the inbound source data in the Stage environment. This will create new members as a data record, which are stored in the stage area, to be mapped to a cube or a temporary member. 

Target Derivative Rules

Target derivative rules apply logic defined by the post-transformed stage environment data. This will create new members as a data record, which are stored in the stage area. Since these are post-transformation, any records stored as final will not be processed by transformation rules. 

Rule Name

A unique name given to a particular derivative rule.

Description

A detailed description used in the Label field of the data imported.

BI Blend Derivative Rules

This is a class of derivative rules specifically designed for use with the external database tables generated from the BI Blend Workflow. 

  • BlendUnit All

  • BlendUnit Base

  • BlendUnit Parent

For more information, see the BI Blend Design and Reference Guide.

Derivative Rule Expressions

Below are some examples of the syntax used to write derivative rules. The variation between the use of Source or Target derivative rules is by the definition of the rule. Source derivative rules reference the inbound record members. Target type derivative rules reference the post-transformed records. In the rule expression samples, assume these rules will run in this order presented in the example.

Rule Expression

Expression Type

Derivative Type

Notes

A#[11*]=Cash

None

Final

Accounts that start with 11 aggregate to a new Account called Cash and stored in Stage.

A#[12*]=AR

None

Interim

Accounts that start with 12 aggregate to a new Account called AR, but not stored.

A#[1300-000;Cash]=CashNoCalc

None

Interim (Exclude Calc)

The Derivative Account Cash is excluded because the calc is excluded. The CashNoCalc interim Account is created as an aggregate of Account 1300-000, but not stored.

A#[1310-000;Cash]=CashIncludeCalc

None

Interim

The two Accounts (1310-000 and Cash) aggregate to equal the new Derivative Account called CashIncludeCalc because the calc is included.  Note the use of the semicolon (;) as a list separator.

The following rules create additional rows in the Stage area when importing data based on logic.

Rule Expression

Expression Type

Derivative Type

Notes

A#[1000~1999]<<New_:E#[Tex*]=TX

None

Applies to All Types

Ccreates a new row in the Stage for any Account that falls between 1000 and 1999 in the source data, but will add a suffix to it.  Account 1010 will create a new row for Account New_1010. The end of the rule syntax shows each Entity name starting with “Tex” will be created as the Entity called TX in these new Stage rows.

A#[2000~2999]>>_:Liability:U2#[*]=

None:U3[*]=None:U4#[*]=None

None

Applies to All Types

Creates a new row in the Stage for every Account between 2000 and 2999 with a prefix.  Account 2300 will come into a new row as 2300_Liability. The rest of the rule means all UD2, UD3 and UD4 Dimension Members will be set as the None Member.

A#[3000~3999]@3:E#[Tex*]@1,1

None

Applies to All Types

Takes the first three digits of each Account between 3000 and 3999 to create new rows in Stage. Each Entity starting with Tex will be shown as “T” since the @1,1 syntax starts at the first position of the string and looks one character to the right.

Logical Operator

Logical Operator provides the ability to extend a normal mapping rule with VB.Net scripting functionality. 

Derivative Expression Types

These are used to perform additional calculations on the transformed Member’s data.

None

This is the default and no changes will be made.

Business Rule

A business rule runs on the resulting Derivative member data. This business rule must have Derivative as its type.

Complex Expression

Write a script here instead of a shared business rule and it will run against the resulting Derivative member’s data.

Multiply

This will multiply the resulting Derivative member’s value by another specified value.

Divide

This will divide the resulting Derivative member’s value by another specified value.

Add

This will add the resulting Derivative member’s value by another specified value.

Subtract

This will subtract a specified value from the resulting Derivative Member’s value.

Create If > x

If the resulting Derivative Member’s value is greater than a specified value, it will be created.

Create If < x

If the resulting Derivative Member’s value is less than a specified value, it will be created.

Derivative Type

Derivative types determine if the resulting Derivative Member will be created, not created, or if the member will be calculated.

Interim

This will not be stored in the Stage area and cannot be mapped to a target member.  It can be used within other subsequently run derivative rules.

Interim (Exclude Calc)

This is similar to Interim but will be excluded in other derivative calculations.

Final

This will be stored in the Stage area and available to be mapped to a target member.

Final (Exclude Calc)

This is similar to Final but will be excluded in other derivative calculations.

Check Rule

This is a custom validation rule that uses the same syntax as member filters and can be applied to the source data during the Validation task of the workflow.

Check Rule (Exclude Calc)

This is similar to Check Rule but will be excluded in other derivative calculations.

Order

The Order field allows a value to be assigned to a record which will allow a custom sort order of the mapping table.