Domanda

Ho un rapporto che esegue una stored procedure:

EXEC ra_spProjectCalendar @Month, @Year, @ProjectID

ProjectID è una tendina di selezione multipla. Quando si seleziona un singolo progetto, funziona benissimo. Se seleziono più progetti, ottengo l'errore:

"Must declare scalar variable "@ProjectID"

Funziona bene quando l'eseguo dalla scheda Dati, tuttavia, quando ho messo in modalità di anteprima ho problemi.

È stato utile?

Soluzione

ho avuto qualcosa di simile al lavoro costruendo la query come espressione - nel tuo esempio

="EXEC ra_spProjectCalendar @Month = '" & Parameters!Month.Value & "',@Year='" & Parameters!Year.Value & "',@ProjectID = '" &  Join(Parameters!ProjectID.Value, ",") & "'"

Alcuni codice nel target SP suddivide la stringa di selezione multipla in una tabella temporanea che viene utilizzato in si unisce per creare output.

Non riesco a ricordare il motivo per cui abbiamo finito facendo in questo modo - è stato proprio all'inizio della nostra mossa per SSRS e le cose si sono spostati su un po 'in quanto - ma potrebbe essere stato il problema che si descrive

Altri suggerimenti

Avevo verificarsi lo stesso errore: Deve dichiarare variabile scalare

.

Mi rendo conto ora la prima cosa da controllare è che quando si entra la query come testo o il proc memorizzato come un tipo stored procedure, che SSRS crea automaticamente la voce paramter nella scheda parametri delle proprietà del set di dati. Se non li crea, non in grado di leggere correttamente la query.

Nel mio caso ho usato OPENQUERY per chiamare un cubetto di servizi di analisi e di riferimento ai nomi dei campi che contengono un sacco di parentesi quadre. Purtroppo SSRS ama riformattare il codice in modo che ben formattato "[Measures]. [SomeMeasure]" si trasforma in questo brutto pasticcio carattere di escape [[Misure]]. [Somemeasure]]]

Se si modifica la query in un altro strumento poi ri-copiarlo di nuovo a SSRS, quindi SSRS non può leggere che la sintassi! Anche se genera! Quindi, rimuovere tutte le parentesi quadre in più e sostituire le virgolette e l'asta funziona di nuovo e genera i parametri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top