2009-11-26 3 views
2

Si j'ai une requête MDX simple comme:Le passage de paramètres multiples dans la requête MDX clause WHERE

SELECT 
NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
NON EMPTY { [Date].[Date].[Date] } 
ON ROWS FROM [MyCube] 

Et je veux filtrer par un identifiant une autre dimension c'est assez facile. Mais si j'ai plusieurs ID, y a-t-il un moyen de les transmettre sans construire dynamiquement la requête MDX?

Répondre

2

Je ne suis pas 100% sûr de ce que vous voulez dire de ne pas construire dynamiquement la requête MDX, mais la forme de la requête que vous voulez est la suivante:

SELECT 
    NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
    NON EMPTY { [Date].[Date].[Date] } ON ROWS 
FROM [MyCube] 
WHERE (
    [Asset].[Id].&[123], 
    [OtherDim].[Foo].&[3919] 
) 

... donc je suppose que aurait besoin d'un bâtiment dynamique, mais rien de trop stressant.

3

Essayez ceci:

SELECT 
    NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
    NON EMPTY { [Date].[Date].[Date] } ON ROWS 
FROM [MyCube] 
WHERE (
    { [Asset].[Id].&[123],[Asset].[Id].&[124]} 
)