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', ...]
      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

      Post hoc, non est propter hoc