En bref, non. Il n'y a pas de bonne solution de contournement. Cependant, pour le développement, j'ai généralement créé une requête de test à côté de mon travail dans SSRS. Je modifierais ceci dans Management Studio, puis je collerais les valeurs dans BIDS. En supposant deux paramètres nommés « StudentID » et « TeacherID », la requête ressemblait à:
DECLARE @StudentID int
DECLARE @TeacherID int
SELECT @StudentID = StudentID FROM Students WHERE StudentName LIKE 'John Doe'
SELECT @TeacherID = TeacherID FROM Teachers WHERE TeacherName LIKE 'Mr. Jones'
-- PASTE IN QUERY FROM BIDS BELOW
Cela m'a permis d'utiliser des valeurs réelles de texte à partir des listes de paramètres déroulantes et simplement coller dans ma requête. Ensuite, j'ai pu optimiser la requête dans Management Studio, puis la coller dans BIDS lorsque j'étais satisfait du résultat.
Merci Aaron. Comment géreriez-vous ou testeriez-vous un paramètre multi-valeur si l'utilisateur voulait pouvoir entrer plusieurs studentId? Ou par exemple vous avez eu 4 étudiants différents nommés 'John Doe'. – DavidStein
Je voudrais dire qu'il y avait une astuce, mais je le code en dur pour s'assurer que cela fonctionne dans les quelques cas où j'en avais besoin. SSRS effectue un remplacement de texte au lieu d'un paramétrage réel. Ainsi, si vous avez "WHERE StudentID IN (@StudentIDs)", il affichera un SQL dynamique comme "WHERE StudentID IN (65, 66, 67)". Je suppose que vous pouvez envelopper votre texte dans un sp_executesql mais vous perdez la coloration syntaxique. Comme d'habitude, il n'y a pas de bonne solution. –