Skip to Content
Jul 23, 2007 at 01:20 PM

Questions regarding Optimizing formulas in IP


Dear all,

This weekend I had a look at the webinar on Tips and Tricks for Implementing and Optimizing Formulas in IP.

I’m currently working on an IP-implementation and encounter the following when getting more in-depth.

I’d appreciate very much if you could comment on the questions below.

<b>1.)</b> I have a question regarding optimization 3 (slide 43) about Conditions:

‘If the condition is equal to the filter restriction, then the condition can be removed’.

I agree fully on this, but have a question on using the Planning Function (PF) in combination with a query as DataProvider.

In my query I have a filter in the Characteristic restriction.

It contains variables on fiscal year, version. These only allow single value entry.

The DataProvider acts as filter for my PF. So I’d suppose I don’t need a condition for my PF since it is narrowed down on fiscal year and version by my query.

<b>a.) Question: Is that correct?</b>

I just one to make sure that I don’t get to many records for my PF as input. <u>How detrimental for performance is it to use conditions anyway?</u>

<b>2.)</b> I read in training BW370 (IP-training) that a PF is executed for the currently set filter (navigational state) in the query and that characteristics that are used in restricted keyfigures are ignored in the filter.

So, if I use version in the restr. keyfig it will be ignored.


a.) Does this mean that the PF is executed for all versions in the system or for the versions that are in the filter of the Characteristic Restrictions and not the currently set filter?</b>

<b>b.) I’d suppose the dataset for the PF can never be bigger than the initial dataset that is selected by the query, right?

c.) Is the PF executed anaway against navigational state when I use filtering? If have an example where I filter on field customer thus making my dataset smaller, but executing the PF still takes the same amount of time.

d.) And I also encounter that the PF is executed twice. A popup comes up showing messages regarding the execution. After pressing OK, it seems the PF runs again...</b>

<b>3.)</b> If I use variables in my Planning Function I don’t want to fill in the parameter VAR_VALUE with a value. I want to use the variable which is ready for input from the selection screen of the query.

So when I run the PF it should use the BI-variable. It’s no problem to customize this in the Modeler. But when I go into the frontend the field VAR_VALUE stays empty and needs a value.


a.) What do I enter here? For parameter VAR_NAME I use the variable name, but what do I use for parameter VAR_VALUE? Also the variable name?</b>

<b>4.)</b> Question regarding optimization 6 (slide 48) about Formulas on MultiProviders:

'If the formula is using data of only one InfoProvider but is defined on a MultiProvider, the the complete formual should be moved to the single base InfoProvider'.

In our case we have three cubes in the MP, two realtime and one normal one. Right now we have one AggrLevel (AL) on op of the MP.

For one formula I can use one cube so it's better to cretae another AL with the formula based on that cube.

For another formula I need the two <u>realtime</u> cubes. This is interesting regarding the optimization statement.


a.) Can I use the AL on the MP then or is it better to create a <u>new</u> MP with only these two cubes and create an AL on top of that. And than create the formula on the AL based on the MP with the two cubes?</b>

This makes the architecture more complex.

Thanks a lot in advance for your appreciated answers!

Kind regards, Harjan