2010-09-09 7 views
1

Je crée un rapport dans MS Visual Studio qui récupère ses données à partir d'un cube. Cela a entre autres une dimension appelée Player. Je veux remettre un paramètre 'Nom' et recevoir le nombre de parties jouées par le joueur. Mais je n'obtiens pas le paramètre intégré dans la requête MDX que j'utilise. J'avais défini le paramètre et dans la requête, j'ai essayé beaucoup de choses différentes, par exemple.Ajouter un paramètre à une requête MDX

Select 
strtomember('@Name') 
on 1, 
[Measures].[Match Count] 
on 0 
From [Kicker Manager Data Warehouse] 

et au lieu de strtomember('@Name') pour ex.

[Dimension Player].[@Name] 

mais rien ne fonctionne. Apprécierait toute aide.

Répondre

1

La syntaxe correcte est strtomember(@Name).

Dans le concepteur de requêtes, j'ai dû définir à nouveau le paramètre (dialogue "Paramètres de requête").

0

MDX ne prend pas en charge les paramètres tels que les procédures stockées SQL.

Vous pouvez utiliser la commande SQL OPENROWSET qui permet à un proc SQL d'exécuter MDX et de renvoyer les résultats dans un jeu d'enregistrements normal (2D). Le MDX serait alors une chaîne que vous pourriez formater comme vous le souhaitez dans le code appelant ou dans le proc. Ou regardez l'exécution de MDX en utilisant ADOMD à partir de Visual Studio (ou suis-je un peu démodé ici?). Encore une fois, vous passeriez une chaîne.

+0

Ceci est incorrect, mais les fournisseurs ADO.Net pour SSAS n'implémentent pas correctement le paramétrage. Vous pouvez paramétrer une requête MDX si vous utilisez les interfaces ADO COM (ce que fait SSRS), mais si vous appelez à partir de .Net, vous devez paramétrer vous-même la requête. – piers7

Questions connexes