2011-09-09 3 views
20

In SSRS 2008, utilizzo i parametri Multi-valore per, beh, selezionare più valori per un particolare parametro.Come verificare se un valore è selezionato in un parametro a più valori

Nella mia relazione ho una formattazione condizionale: un'etichetta particolare deve essere blu se l'elemento è selezionato; altrimenti rimarrà nero. La mia intuizione stava cercando il modo di SQL - ma mi sbagliavo :-)

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" 
) 

Qual è il modo giusto per gestire questa situazione?

risposta

44

Penso che il modo più pulito è probabilmente la seguente

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

Esecuzione di un join ogni volta che può essere inefficiente a causa del sovraccarico di assegnazione stringhe in più, soprattutto se la funzione verrà eseguito nel corso di un elenco di grandi dimensioni, o una volta per riga di una griglia, per esempio.