Hello everyone,

I´m sorry if you all are aware of it, but I think it deserves some attention :

This is my query over e-fashion

What I´ll do here is calculating the unitary price for a product in a Line in the dumbiest way :

Just dividing [Sales revenue] by [Quantity sold] for each [Year]. This gives me the following table

So far so good …

But what if I took [Year] away from my table ?

Here´s what happens

As you can see, the values are different but why this happens ?

BO adds another rule of precedence when calculating values, besides the * / + – precedence , there is the default aggregation of the measure that is with greater precedence.

So, when calculating =[Sales revenue]/[Quantity sold], what is really been calculated is =Sum([Sales revenue])/Sum([Quantity sold]).

In order to avoid this problem, you better add back the missing dimmension (in this case, [Year]) through the use of the ForEach operator

=Sum( ([Sales revenue]/[Quantity sold]) ForEach ([Year]))/3. Like in the table below

So when dealing with multiplication/division of Measures, always remember to use ForEach operator.

Regards,

Rogerio

…or to express in a different way:

e.g. average unit price per year.

This appears to illustrate a difference in the calculation engines between 3.x and 4.x:

I don’t have 4.x to test, but it appears that 4.x favours the latter calculation by default, 3.x the former.

NMG

Hi Neil,

thanls for your comment. The reason I wrote it is that here, at my company, people are not aware of situations like that.So I thought it might be of interest.

Thanks for your comment !!!

Regards,

Rogerio