dbTalk Databases Forums  

cannot refer to [Dimension],[Level].Currentmember ???

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


Discuss cannot refer to [Dimension],[Level].Currentmember ??? in the microsoft.public.sqlserver.olap forum.



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

Default cannot refer to [Dimension],[Level].Currentmember ??? - 04-21-2005 , 11:25 AM






here is my query:

with member [Measures].[hcount]
as

'Count(Extract(Filter(
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].[Col1].members,[Dim2].[Col2].members),
[Dim1].currentmember.properties("prop1") >
[Dim2].currentmember.properties("prop2") ) ,
[Employee])
)'

select {[Measures].[hcount]} on columns,
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].Members,[Dim2].Members,[Dim3].Members ) on rows
from cube1

my [Dim1],[Dim2],[Dim3] dimensions have only 1 level each and they are
[Col1],[Col2],[Col3] respectively. Each of the levels has a property
which is "prop1","prop2" and "prop3" respectively. So is setup like
this:

[Dim1].[Col1]->property("prop1")
[Dim1].[Col2]->property("prop2")
[Dim1].[Col3]->property("prop3")


But when I run the above query I get an error saying "prop1" is an
invalid property name !!!


If on the other hand I change the query to this( I omit the level names
when referring to Dim1,Dim2 and Dim3) :

with member [Measures].[hcount]
as

'Count(Extract(Filter(
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].members,[Dim2].members),
[Dim1].[Col1].currentmember.properties("prop1") >
[Dim2].[Col2].currentmember.properties("prop2") ) ,
[Employee])
)'

select {[Measures].[hcount]} on columns,
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].Members,[Dim2].Members,[Dim3].Members ) on rows
from cube1

I get an error saying unknown dimension [Dim1].[Col1] !!!

*** Sent via Developersdex http://www.developersdex.com ***

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

Default Re: cannot refer to [Dimension],[Level].Currentmember ??? - 04-22-2005 , 08:10 PM






To correct the second error, remove references to levels - from SQL BOL,
CurrentMember applies to dimensions:

CurrentMember

Returns the current member along a dimension during an iteration.

Syntax

«Dimension».CurrentMember

So the MDX query would become:

Quote:
with member [Measures].[hcount]
as

'Count(Extract(Filter(
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].members,[Dim2].members),
[Dim1].currentmember.properties("prop1") >
[Dim2].currentmember.properties("prop2") ) ,
[Employee])
)'

select {[Measures].[hcount]} on columns,
NonEmptyCrossJoin([Employee].[Emplid].Members,
[Dim1].Members,[Dim2].Members,[Dim3].Members ) on rows
from cube1

Quote:

- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***


Reply With Quote
  #3  
Old   
kary kalapanda
 
Posts: n/a

Default Re: cannot refer to [Dimension],[Level].Currentmember ??? - 04-22-2005 , 09:08 PM




Deepak,

Thanks for your reply. I also realized that I was getting an error
(uknown property) on my Dim1.currentmember.properties("prop1")because I
had my all-level enabled on my dimensions. After I got rid of my
all-level my query runs fine.

Thank you so much for your help.

-Kary.


*** Sent via Developersdex http://www.developersdex.com ***

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.