Hi all,

We are building an application in which MDX-statements are composed (based
on a relational database), and executed against local cube files.

On of the things we have to do is get a min or max value from the cube, for
a set of (translated to FoodMart) Stores.

Our application asks:
Give me the Max Sales Units for stores "Store 6", "Store 7", "Store 24",
"Store AAA"
Our application knows "Store AAA", but for one reason or another, the cube
doesn't.

The following MDX gives an error, because it "cannot find dimension member
("[Store].[Store AAA]") - in a name-binding function"

WITH
SET [MySet] AS '{[Store].[Store 6], [Store].[Store 7], [Store].[Store 24],
[Store].[Store AAA]}'
MEMBER [MEASURES].[MAX UNIT SALES] AS 'MAX([MySet], [MEASURES].[UNIT
SALES])'
SELECT { [MEASURES].[MAX UNIT SALES] } ON 0 FROM [Sales] WHERE (
[Time].[1997] )


We found a performance-killing solution in:

WITH
MEMBER [MEASURES].[MAX UNIT SALES] AS 'MAX(FILTER(Descendants([Store].[All
Stores], [Store].[Store Name]), InStr("*Store 6*Store 7*Store
24*StoreAAA","*" + [Store].CurrentMember.Name + "*" )), [MEASURES].[UNIT
SALES])'
SELECT { [MEASURES].[MAX UNIT SALES] } ON 0 FROM [Sales] WHERE (
[Time].[1997] )

For little queries this works, but for sets from about 100 Stores
performance goes DOWN.


Is there another solution for this, e.g. telling the Cube/provider to ignore
non-existing members?
Is there some MDX-function that could create a set ignoring the non-existing
members?

Thanks,

Francis