dbTalk Databases Forums  

MDX populate members

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


Discuss MDX populate members in the microsoft.public.sqlserver.olap forum.



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

Default MDX populate members - 08-30-2004 , 05:43 AM






Hi group

I have measures , I want to populate with last measure with value not 0

EX. values: 23, 45, 0, 0, 0,-23 ,7, 0, 0, 345 ....etc

I tryed:

IIF( (Date.CurrentMember,[Value])=0,
(Date.CurrentMember.PrevMember,[Value]),
(Date.CurrentMember,[Value]))

a get : 23, 45, 45, 0, 0, -23, 7, 7, 0, 345 ...etc

instead of results I want:

23, 45, 45, 45, 45, -23, 7, 7, 7, 345 ....etc

Please help!



Reply With Quote
  #2  
Old   
Deepak Puri
 
Posts: n/a

Default Re: MDX populate members - 08-30-2004 , 11:12 AM






Try a recursive expression - here's a Foodmart example:

Quote:
With Member [Measures].[LastSales] as
'IIF( [Measures].[Unit Sales] = 0,
(Time.PrevMember,[Measures].[LastSales]),
[Measures].[Unit Sales])'
Quote:

- Deepak

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!


Reply With Quote
  #3  
Old   
Vlado
 
Posts: n/a

Default Re: MDX populate members - 08-31-2004 , 01:49 AM



GREAT!

Thanks.


"Vlado" <vkaligari (AT) tis (DOT) hr> wrote

Quote:
Hi group

I have measures , I want to populate with last measure with value not 0

EX. values: 23, 45, 0, 0, 0,-23 ,7, 0, 0, 345 ....etc

I tryed:

IIF( (Date.CurrentMember,[Value])=0,
(Date.CurrentMember.PrevMember,[Value]),
(Date.CurrentMember,[Value]))

a get : 23, 45, 45, 0, 0, -23, 7, 7, 0, 345 ...etc

instead of results I want:

23, 45, 45, 45, 45, -23, 7, 7, 7, 345 ....etc

Please help!





Reply With Quote
  #4  
Old   
Prasanna
 
Posts: n/a

Default Re: MDX populate members - 08-31-2004 , 02:24 AM



you can also use something like

(Tail(Filter(Descendants(Time.currentmember,[Day]),([Measures].[Unit
Sales])>0),1).item(0),[Measures].[Closing])

instead of using recursive measure


Deepak Puri <deepak_puri (AT) progressive (DOT) com> wrote

Quote:
Try a recursive expression - here's a Foodmart example:


With Member [Measures].[LastSales] as
'IIF( [Measures].[Unit Sales] = 0,
(Time.PrevMember,[Measures].[LastSales]),
[Measures].[Unit Sales])'



- Deepak

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Reply With Quote
  #5  
Old   
Vlado
 
Posts: n/a

Default Re: MDX populate members - 08-31-2004 , 04:11 AM



Your formula is interesting but I don't know what about [Closing] ?
If I put [Unit Sales] instead of [Closing] I get result without negative
values (in my case) and empty value in some cells.
What should I change?

Thanks.




"Prasanna" <tawargerip (AT) hotmail (DOT) com> wrote

Quote:
you can also use something like

(Tail(Filter(Descendants(Time.currentmember,[Day]),([Measures].[Unit
Sales])>0),1).item(0),[Measures].[Closing])

instead of using recursive measure


Deepak Puri <deepak_puri (AT) progressive (DOT) com> wrote

Try a recursive expression - here's a Foodmart example:


With Member [Measures].[LastSales] as
'IIF( [Measures].[Unit Sales] = 0,
(Time.PrevMember,[Measures].[LastSales]),
[Measures].[Unit Sales])'



- Deepak

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!



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.