Elements of a business rule

Most business rules in PerformancePoint Planning Business Modeler are written in PerformancePoint Expression Language (PEL). PEL is a unique language that was designed specifically to create business rules, and to manipulate multi-dimensional information in PerformancePoint Planning Server.

PEL provides a great deal of flexibility:

  • The PEL compiler can generate SQL or Multidimensional Expressions (MDX); in fact, from the same PEL source, you can generate both and then compare the results.

  • Input data can reside in Online Analytical Processing (OLAP) cubes or in relational databases.

  • Rule calculations can be performed in the cube using MDX, in a relational database using SQL, or in main memory using one of Planning Business Modeler specialized components.

  • Results of calculations can be returned without storage, written to fact tables in the relational database, or written to cells in the model.

Elements of a PEL business rule

There are three basic components of a PEL business rule in Planning Business Modeler.

  • The Scope statement
    Scope (<enter target dimensions/members here>);

  • The calculation statement, often a This statement
    This = (<enter the calculations here>);

  • The End Scope statement
    End scope;


As with any programming task, syntax is extremely important. For example, each basic component of the rule must end in a semi-colon, and all brackets and parenthesis must consist of a matching pair. For specific information about the PEL language, see the Planning Business Rules Developer Guide.

The following example shows a simple rule that assigns the value “1” to every cell defined in the scope.

// SCOPE statementSCOPE([Scenario].[All Members].[Budget],[Time].[All Members].[7/2/2000],[Account].[All Members].[Cons 7100000],[BusinessProcess].[Standard].[INPUT], [Entity].[All Members].[Tahoe],[TimeDataView].[All Members].[PERIODIC],[Flow].[All Members].[ADD] );// Calculation statementTHIS = 1;// End SCOPE statementEND SCOPE;

The next example is more complex, but notice that it still consists of the same three basic components. This rule creates a forecast for the last three months of the year. The forecast is based on the average actual operating expense for the first nine months of the year.

SCOPE ([Account].[Corporate].[Operating Expense].LeafMembers,[BusinessProcess].[Standard].[Input],[Entity].[SubsidiaryOperation].[MySubsidiary],[Scenario].[All Members].[Forecast],[Time].[Monthly].[Month 10 Year 2004]:[Time].[Monthly].[Month 12 Year 2004],);// "This" statement uses the Avg function// To calculate the average of actual operating expenses// over 9 monthsTHIS = Avg([Time].[Monthly].[Month 1 Year 2004]:[Time].[Monthly].[Month 9 Year 2004],[Scenario].[All Members].[Actual]);// End SCOPE statementEND SCOPE;

Share Facebook Facebook Twitter Twitter Email Email

Was this information helpful?

Great! Any other feedback?

How can we improve it?

Thank you for your feedback!