Quelqu'un peut-il me dire comment afficher toute la valeur sélectionnée de mon paramètre de valeur multiple dans le rapport SSRS. En donnant parameter.value
_ option cela donne une erreur.
Vous pouvez utiliser la fonction "Join" pour créer une seule chaîne à partir du tableau d'étiquettes, comme ceci:
=Join(Parameters!Product.Label, ",")
= Join (Parameters! Product.Label, vbcrfl) pour la nouvelle ligne
Je ne connaissais pas la fonction join - Nice! J'avais écrit une fonction que j'avais placée dans la section de code (propriétés du rapport-> onglet code:
Public Function ShowParmValues(ByVal parm as Parameter) as string
Dim s as String
For i as integer = 0 to parm.Count-1
s &= CStr(parm.value(i)) & IIF( i < parm.Count-1, ", ","")
Next
Return s
End Function
Espérons que quelqu'un d'autre trouve cela utile:
L'utilisation de la jointure est la meilleure façon d'utiliser un paramètre à valeurs multiples. Mais que se passe-t-il si vous voulez avoir un "Select All" efficace? S'il y a plus de 100, la requête sera très inefficace.
Pour résoudre ce problème au lieu d'utiliser une requête SQL telle quelle, modifiez-le en utilisant une expression (cliquez sur le bouton Fx en haut à droite), puis construisez votre requête comme suit (des marques de signe sont nécessaires):
= "Select * from tProducts Where 1 = 1 "
IIF(Parameters!ProductID.Value(0)=-1,Nothing," And ProductID In (" & Join(Parameters!ProductID.Value,"','") & ")")
Dans votre paramètre, procédez comme suit:
SELECT -1 As ProductID, 'All' as ProductName Union All
Select
tProducts.ProductID,tProducts.ProductName
FROM
tProducts
En construisant la requête en tant qu'expression, vous pouvez rendre l'instruction SQL plus efficace, mais également gérer la difficulté que SQL Server rencontre avec la gestion des valeurs dans une instruction "In".