Hola
Scopo: Mostrare in un combo di un report una serie di colonne che se selezionate, saranno visibile, altrimenti no in Reporting Services:
Quello che ho fatto:
- Ho creato un parametro multivalue chiamato "Price", e ho specificato i possibili valori che può prendere ( Available Values --> Non query --> Label,Value).
Label Value
A A
B B
C C
- Nella propietà "Hidden" delle colonne interessate ho creato una expression del tipo:
cioè, siccome non posso (o non so come si fa) a prendere tutto il valore del parametro, senza dover fare la concatenazione di ogni valore del parametro ( cioè, se mi seleziona le opzioni "A" e "C", la expression "Parameters!Price.Value" vuole un indice especifico tipo array, perché è quello che alla fin fine è, un array: "Parameters!Price.Value(0)+Parameters!Price.Value(1)", devo controllare quanti sono i valori selezionati, per poter accedere ai valori giusti e non fare un "ourt of bouds", non so se mi spiego.
Problema: La espressione qua su funziona bene quando si scelgono 2 o 3 parametri, ma no quando ne scegli soltanto 1, perché "index was outside the bounds of the array", cioè, sembrerebbe che anche se ci ho messo tutta la struttura di "IIF", lui valorizza tutta l'espressione, incluse le parti che non dovrà esseguire: se ci metto soltanto un valore, è soltanto valorizzata "Parameters!Price.Value(0)", ma lui mette il naso anche nella parte che dovrebbe eseguire soltanto se ci sono 2 valori nel parametro...e quindi scatta l'errore.
Se soltanto potesse avere il valore del parametro completo senza dover fare nessuna concatenazione, il problema non si porrebbe, usando InStr sarebbe tutto risolto in un'attimo.
Qualche idea??
Grazie
Aggiornamento: Ok, ho risolto... =Join(Parameters! <ParameterName> .Value,", ")
http://msdn2.microsoft.com/en-us/library/aa337292.aspx
che fava!!