# Left hand side of rules: what else can I put there?

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

• # Left hand side of rules: what else can I put there?

It seems that there are two variations of what can be put of the left side of the "=".
1. ['element', ...]
or
2. ['dimension'.'element', ...]

I'm wondering if there are other things I can put in the left side.

E.g. are there any set operators like "not".

Basically, I've got a problem where I've prepopulated some values lets say the "Cost of Sales" for some subset of products like "Monitors".
I would like to put a generic rule in place that says something like:

['Cost of Sales'] = IF( ['Cost of Sales'] <> 0, ['Units'] * 1.5, ['Cost of Sales']

If you use a rule like this, the OLAP server chokes because of a recursive reference.

I got around this by using a dummy element in a dimension, populating it, and then running a rule like this:

['Cost of Sales'] = IF( ['dummy cost of sales'] <> 0, ...)

This forces me to insert these dummy elements to stage my data, rather than allowing me to put my data directly into the Cube.

I was wondering if there was a way to do something like this:

[NOT('Monitor'),'Cost of Sales'] = .....
• Hi byoshimi,

actually not, you cannot put something else in the left part of the equal sign.

but you can do the following to reach this behaviour: [NOT('Monitor'),'Cost of Sales']

['Cost of Sales']=IF(!'Products'!="Monitor", <something>, <something else>)

by combining it with function STET() you can make the behaviour apply only to the "NOT" condition
laloune

Post hoc, non est propter hoc
• or

['Cost of Sales','Monitor']=<something else> -> if "Monitor" shouldn't be calculated, just put "stet()" here
['Cost of Sales']=<something>
Robert Tischler
Senior Consultant Vector SW DV GmbH
• Thanks Lalune and Robert!

Would have replied earlier but was on vacation.