J'ai le schéma en étoile suivante:requête MDX ne filtre pas correctement
Objects <-> Facts <-> Simulation
-ObjectID -ObjectID -SimulationID
-SimulationID -SimulationID
-ObjHierarchy -Volume
-ObjectType
Maintenant, je suis en train de filtrer le cube en utilisant les deux dimensions:
select [Measures].[Volume] on columns,
[Objects].[ObjHierarchy].[Level 02] on rows
from [DM OC]
where ([Objects].[ObjectType].&[2], [Simulation].[SimulationID].&[52])
Cependant, cela renvoie des lignes pour SimulationID=52
(avec des valeurs), mais aussi pour double emploi avec SimulationID=53
(avec nulls):
ObjHierarchy | Volume
MyObj1 | 12345
MyObj2 | 54321
MyObj1 | (NULL)
MyObj2 | (NULL)
Une solution consiste à utiliser NonEmpty, mais il semble que le cube ne soit pas modélisé correctement.
Cette requête renvoie le même nombre de résultats, le membre "xx" renvoyant des valeurs pour toutes les lignes (même pour celles où Volume est nul). Tous les objets ont des clés différentes, donc même le premier MyObj1 a une clé différente de la seconde MyObj1 (la même chose s'applique à MyObj2) - pour chaque SimulationID, il existe une collection d'objets différente. – noup
Il semble que vous ayez différents membres MDX avec le même nom, donc cela explique le résultat. –