member.FetchAllProperties() call populates the member.Properties collection. and the member.MemberProperties collection should contain the properties explicitly requested in the mdx query (in “DIMENSION PROPERTIES” clause).
depending on whether you need those properties for all/many members or not, you can either request them in the query (and access them with .MemberProperties collection), or request properties for a specific(few) members afterwards by calling .FetchAllProperties() and accessing properties from the .Properties collection.
Hi Mary. Thanks for this. It worked. We used the second technique because we need to be generic, i.e., we don't know in advance what user-defined properties will be available. But here's another question. Calling Member.Properties gives e.g.,
The last one here is one of our user-defined properties. The previous ones are the intrinsic properties. Is there a way of telling the difference At the moment I've noticed that the intrinsic names are all upper case, while our UDPs are mixed case. As a first stab I'm just testing for all upper case and excluding. But of course this is not the most rigorous of methods!
Thanks. I applied SP4 and that did the trick. However, what I now find is that after calling FetchAllProperties I still get no member properties. Is there something that needs to be called or configured even earlier Here's a code snippet.
For Each position As AdomdClient.Position In positions
Dim member As AdomdClient.Member = position.Members(0)
member.FetchAllProperties()
Dim properties As MemberPropertyCollection = member.MemberProperties
Debug.WriteLine(String.Format("No. of member properties = {0}", properties.Count))
For Each p As AdomdClient.MemberProperty In properties Debug.WriteLine(String.Format("Property = {0}, {1}", p.Name, p.Value)) Next
Member.FetchAllProperties Error
paoloTheCool
hello,
it looks like the error might be caused by an older version of msolap80 provider. I'd suggest to check on it, and if indeed - update.
hope this helps,
jte
hello Kevin,
member.FetchAllProperties() call populates the member.Properties collection. and the member.MemberProperties collection should contain the properties explicitly requested in the mdx query (in “DIMENSION PROPERTIES” clause).
depending on whether you need those properties for all/many members or not, you can either request them in the query (and access them with .MemberProperties collection), or request properties for a specific(few) members afterwards by calling .FetchAllProperties() and accessing properties from the .Properties collection.
hope this helps,
PhilipDaniels
BobKay
Property Name: MEMBER_KEY, Property Value: 13
Property Name: IS_PLACEHOLDERMEMBER, Property Value: False
Property Name: IS_DATAMEMBER, Property Value: False
...
Property Name: Allow Input, Property Value: 0
The last one here is one of our user-defined properties. The previous ones are the intrinsic properties. Is there a way of telling the difference At the moment I've noticed that the intrinsic names are all upper case, while our UDPs are mixed case. As a first stab I'm just testing for all upper case and excluding. But of course this is not the most rigorous of methods!
Rahul Singla
hello Kevin,
i think 760 is not the latest one... did you install sp4
i think you can try the PTS from here: http://www.microsoft.com/downloads/details.aspx familyid=DF0BA5AA-B4BD-4705-AA0A-B477BA72A9CB&displaylang=en
(search for "Microsoft SQL Server 2000 PivotTable Services" section)
or here is the link to sql server sp4: http://www.microsoft.com/downloads/details.aspx familyid=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=en
hope this helps,
zhishan
Thanks. I applied SP4 and that did the trick. However, what I now find is that after calling FetchAllProperties I still get no member properties. Is there something that needs to be called or configured even earlier Here's a code snippet.
For Each position As AdomdClient.Position In positions
Dim member As AdomdClient.Member = position.Members(0)
member.FetchAllProperties()
Dim properties As MemberPropertyCollection = member.MemberProperties
Debug.WriteLine(String.Format("No. of member properties = {0}", properties.Count))
For Each p As AdomdClient.MemberProperty In properties
Debug.WriteLine(String.Format("Property = {0}, {1}", p.Name, p.Value))
Next
Next