MDX performance -
12-10-2003
, 04:41 AM
I have cube, based on about 38M records, 12 dimensions, the two
largest has 5 levels, 52000 members, 3 levels 2200 members, 9 measures
and many many calculated members.
I've changed the aggregation design, and now have great performance
retreiving the measures.
The problem is retreiving the calculated measures. All the measures
are adding members (12 last months, based on now()), kind of devision
(mean, ratio, etc), and combination of sum and divide.
Questions:
1. If my query retreives only one calc - does only that calc is beeing
calculated, or all other non relevant calcs are being calculated too?
2. Is there a way to improve performance for calc?
3. Can cache help?
Examples for calc:
A= (iif([dim1].currentmember.name = "NAME", [measure}.M1,
[measure}.M2)) / 365
LAST12MONTH = sum(strtomember("["+iif(datepart("m",dateadd("m",-2,now()))<10,"0"+cstr(datepart("m",dateadd("m",-2,now()))),cstr(datepart("m",dateadd("m",-2,now()))))
+"-"+cstr(datepart("yyyy",dateadd("m",-2,now())))+"]").lag(11):
strtomember("["+iif(datepart("m",dateadd("m",-2,now()))<10,"0"+cstr(datepart("m",dateadd("m",-2,now()))),cstr(datepart("m",dateadd("m",-2,now()))))
+"-"+cstr(datepart("yyyy",dateadd("m",-2,now())))+"]"))
(it works, you don't have to check, just improve performance)
OTHER12MONTH = sum(filter([Time].members, not
IsNull([Measures].[cnt])).Item(11):filter([Time].members, not
IsNull([Measures].[cnt])).Item(22))
and other divisions.
Any idea?
Thanks in advance
Ofra |