Upload
nguyendieu
View
220
Download
0
Embed Size (px)
Citation preview
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 GmbH19 November 12, 2015
Create Block3. Sparse Calculation
Sparse calculation without cross-dim
© 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
Evgeniy GalanzovskySenior Consultant