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?
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.