web-dev-qa-db-fra.com

Comment vérifier si une valeur est sélectionnée dans un paramètre à valeurs multiples

Dans SSRS 2008, j'utilise des paramètres à valeurs multiples pour, eh bien, sélectionner plusieurs valeurs pour un paramètre particulier.

Dans mon rapport, j'ai une mise en forme conditionnelle: une étiquette particulière doit être bleue si l'élément est sélectionné; sinon il restera noir. Mon intuition essayait de la manière SQL - mais je me trompais :-)

Switch(
  Fields!groupType.Value = "firstValue", "#00ffffff",
  Fields!groepType.Value = "secondValue", "Tomato",
  Fields!groepType.Value = "thirdValue", "DimGray",
  Fields!groepType.Value IN Parameters!p_myMultipleValueParameter.Values, "Blue"
)

Quelle est la bonne façon de gérer cela?

25
vstrien

Je pense que la façon la plus propre est probablement la suivante

Array.IndexOf(Parameters!p_myMultipleValueParameter.Value, Fields!groepType.Value) > -1

L'exécution d'une jointure à chaque fois peut être inefficace en raison de la surcharge d'allocation de chaînes supplémentaires, en particulier si la fonction sera exécutée sur une grande liste, ou une fois par ligne d'une grille, par exemple.

49
MonkeyPushButton