dbTalk Databases Forums  

advanced design question

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss advanced design question in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Koni Kogan
 
Posts: n/a

Default advanced design question - 02-05-2004 , 10:10 AM






Hello, everybody.
We have a cube with lot's of measures that need to be aggregated normally
along all dimensions except time. Along the time dimension every new member
is displaying a new state of the measure at that moment so we'd like to
calculate the difference between every current member and the previous
member. This can be done quite easily by creating a calculated member for
every measure as in:

c1: ([measures].m1 - [measures].m1,[time].currentmember.prevmember)

c2: ([measures].m2 - [measures].m2,[time].currentmember.prevmember)

....

Can this be done some other way or do we really have to create 50+ calculate
members?

Thanks in advance,
Koni.





Reply With Quote
  #2  
Old   
Tom Chester
 
Posts: n/a

Default Re: advanced design question - 02-05-2004 , 11:59 AM






If you place calc(s) in dimension other than measures (i.e. a special calc
dimension) then they operate agains all measures -- one calc can do the work
of N calcs.

fwiw, I'm not at all partial to cubes that have lots of measures. Whenever
possible I look for opportunities to reduce the number of measures by adding
new dimensions. Ideally I like just one measure. This is because the
measures dim is so inflexible.

public @ the domain below
www.tomchester.net

"Koni Kogan" <k_kogan (AT) hotmail (DOT) com> wrote

Quote:
Hello, everybody.
We have a cube with lot's of measures that need to be aggregated normally
along all dimensions except time. Along the time dimension every new
member
is displaying a new state of the measure at that moment so we'd like to
calculate the difference between every current member and the previous
member. This can be done quite easily by creating a calculated member for
every measure as in:

c1: ([measures].m1 - [measures].m1,[time].currentmember.prevmember)

c2: ([measures].m2 - [measures].m2,[time].currentmember.prevmember)

...

Can this be done some other way or do we really have to create 50+
calculate
members?

Thanks in advance,
Koni.







Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.