Best practice in Essbase business rule writing · Tips Better to avoid: •Aggregation •Complex...

23
Evgeniy Galanzovsky PROMATIS software GmbH Nürnberg, 17.11.2015 Best Practice in Essbase Business Rule Writing

Transcript of Best practice in Essbase business rule writing · Tips Better to avoid: •Aggregation •Complex...

Evgeniy GalanzovskyPROMATIS software GmbHNürnberg, 17.11.2015

Best Practice in EssbaseBusiness Rule Writing

© 2015 PROMATIS software GmbH2

Introduction into problems

Example

FIX statement

Calculations

Create block approaches

Aggregation

Agenda

November 12, 2015

© 2015 PROMATIS software GmbH3

Relational DB vs. OLAP (calculations)

November 12, 2015

Financials

Task: Calculate profit for current scenario Bussines formulaProfit = Revenue – COGS – OPEX – Admin Costs

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

CurrentOptimistic

Pessimistic

Profit = Revenue- COGS- OPEX- Admin Costs

© 2015 PROMATIS software GmbH4

Relational DB vs. OLAP (reporting)

November 12, 2015

Financials

Task: Calculate profit for current scenario Bussines formulaProfit = Revenue – COGS – OPEX – Admin Costs

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

CurrentOptimistic

Pessimistic

Profit = Revenue- COGS- OPEX- Admin Costs

© 2015 PROMATIS software GmbH5

What is going on?

Introduction into problems

November 12, 2015

Why it happens?• Review data from different

point of view

• Check assumptions

• Compare

• Recalculate

Before lose one’s trains of thoughts

© 2015 PROMATIS software GmbH6

Introduction into problems

November 12, 2015

• Application Design

• Dimensions

• Hierarchies

• Dense and Sparse

• Bussines Rules

• FIX Statement

• Calculations

• Block Creation

• Aggregation

• Forms

• POV

• Retrieving data

• Hardware

Performance Extendibility

• Application Design

• Quantity dimensions

• Levels

• Block size

• Bussines Rules

• Code

• Forms

• POV

• Retrieving data

• Hardware

© 2015 PROMATIS software GmbH7

FIX Statement1. Structure

November 12, 2015

Level 1. Parameters

Level 2. Rule

Level 3. Calculation

© 2015 PROMATIS software GmbH8

FIX Statement2. Members Set

November 12, 2015

Correct Wrong

@LEVMBRS("Time Periods",0) AND @DESCENDANTS("Year Total“)

Jan, Feb, Mar, Apr, may, Jun, Jul, Aug, Sep, Oct, Nov, Dec

@REMOVE(@Relative("YearTotal",0), “Dec”)Jan, Feb, Mar, Apr, may, Jun, Jul, Aug, Sep, Oct, Nov

@UDA("Account","FA_TO_PL_FA_1") „PL_5000000“

{Version} and "Target") IF (@ISMBER(„Target“))

IF (@ISMBER(„JAN“)) FIX („JAN“)

@CHILDREN ("Year Total“) Q1,Q2,Q3,Q4

@WITHATTR(Products, "==", „New") „Product_1“

"FIX – Sparse, IF - Dense".

© 2015 PROMATIS software GmbH9 November 12, 2015

Calculation1. Dense Calculations

Dense calculation are fast

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

CurrentOptimistic

Pessimistic

Profit = Revenue- COGS- OPEX- Admin Costs

© 2015 PROMATIS software GmbH10 November 12, 2015

Calculation2. Dense Calculations

Dense calculations are fast

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

Profit = Revenue- COGS- OPEX- Admin Costs

CurrentOptimistic

Pessimistic

© 2015 PROMATIS software GmbH11 November 12, 2015

Calculation3. Dense Calculations

Dense calculations are fast

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

Profit = Revenue- COGS- OPEX- Admin Costs

CurrentOptimistic

Pessimistic

© 2015 PROMATIS software GmbH12 November 12, 2015

Calculation4. Dense Calculations

Dense calculations are fast

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

CurrentOptimistic

Pessimistic

Profit = Revenue- COGS- OPEX- Admin Costs

© 2015 PROMATIS software GmbH13 November 12, 2015

Calculation5. Spare Calculations

Dense calculation is faster!

Period

Acc

ou

nts

Jan Feb Mar Apr May Jun Jul Aug

ProfitRevenueCOGSOPEXAdmin Costs…

CurrentOptimistic

Pessimistic

Profit = Revenue- COGS- OPEX- Admin Costs

© 2015 PROMATIS software GmbH14 November 12, 2015

Calculation6. Members Set

All calculations with Level0

Correct Wrong

© 2015 PROMATIS software GmbH15 November 12, 2015

Calculation7. Performance Improvement

Fewer members – best performance

12

18

© 2015 PROMATIS software GmbH16 November 12, 2015

Calculation8. Performance Improvement

Fewer members – best performance

12

18

© 2015 PROMATIS software GmbH17 November 12, 2015

Create Block1. Best Performance Command

DATACOPY

@JExportTo и JImport.

@CALCMODE within TOPDOWN.

Aggregation on sparse dimension

Sparse calculation

@CreateBlock

© 2015 PROMATIS software GmbH18 November 12, 2015

Create Block2. @CALCMODE

© 2015 PROMATIS software GmbH19 November 12, 2015

Create Block3. Sparse Calculation

Sparse calculation without cross-dim

© 2015 PROMATIS software GmbH20 November 12, 2015

Create Block4. @CreateBlock

© 2015 PROMATIS software GmbH21 November 12, 2015

Create Block5. Low Performance

Better to avoid:

• SET CREATENONMISSINGBLK ON

• @ALLOCATE

• @XREF

• @XWRITE

© 2015 PROMATIS software GmbH22 November 12, 2015

Aggregation1. Tips

Better to avoid:

• Aggregation

• Complex multi level hierarchies

• Flat hierarchies

• Use ASO for reporting

PROMATIS software GmbHPforzheimer Str. 16076275 Ettlingen (Karlsruhe TechnologyRegion), Germany

Phone +49 7243 2179 0Fax +49 7243 2179 99

Email:Web: www.promatis.com

www.horus.bizwww.prociris.biz

© 2015 PROMATIS software GmbH23 November 12, 2015

Contact

[email protected]

Evgeniy GalanzovskySenior Consultant