Riferimenti a raccolte di variabili di report e di gruppo (Generatore report e SSRS)
Quando un calcolo complesso viene utilizzato più volte nelle espressioni di un report, è possibile creare una variabile che può essere di report o di gruppo. I nomi delle variabili devono essere univoci in un report.
[!NOTA]
È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per ulteriori informazioni, vedere Progettazione di report tramite Progettazione report e Generatore report (SSRS) nel Web all'indirizzo microsoft.com.
Variabili di report
Utilizzare una variabile di report per memorizzare un valore per i calcoli dipendenti dal tempo, ad esempio tassi valutari o timestamp, oppure per un calcolo complesso a cui si fa riferimento più volte. Per impostazione predefinita, una variabile di report viene calcolata una sola volta e può essere utilizzata nelle espressioni di un intero report. Inoltre, le variabili di report sono di sola lettura. È possibile modificare l'impostazione predefinita in modo da abilitare la modalità di lettura/scrittura per una variabile di report. Il valore in una variabile di report viene mantenuto per tutta una sessione, fino alla nuova elaborazione del report.
Per aggiungere una variabile di report, aprire la finestra di dialogo Proprietà report, fare clic su Variabili, quindi specificare un nome e un valore. I nomi sono stringhe con distinzione tra maiuscole e minuscole che iniziano con una lettera e non contengono spazi. Un nome può contenere lettere, numeri o caratteri di sottolineatura (_).
Per fare riferimento alla variabile in un'espressione, utilizzare la sintassi di raccolta globale, ad esempio =Variables!CustomTimeStamp.Value. Nell'area di progettazione il valore viene visualizzato in una casella di testo come <<Expr>>.
È possibile utilizzare le variabili del report come indicato di seguito:
Utilizzo in sola lettura Impostare una volta un valore in modo da creare una costante per la sessione del report, ad esempio un timestamp.
Poiché le espressioni delle caselle di testo vengono valutate su richiesta quando un utente scorre un report, i valori dinamici, ad esempio un'espressione in cui è inclusa la funzione Now() che restituisce l'ora del giorno, possono restituire valori diversi se si passa a una pagina successiva e a una precedente tramite il pulsante Indietro. Impostando il valore di una variabile di report sull'espressione =Now() e aggiungendo quindi tale variabile all'espressione, si garantisce l'utilizzo dello stesso valore per tutta l'elaborazione del report.
Utilizzo in lettura/scrittura Impostare una volta un valore e serializzarlo all'interno di una sessione di report. L'opzione di lettura/scrittura per le variabili rappresenta un'alternativa migliore rispetto all'utilizzo di una variabile statica nel blocco di codice nella definizione del report.
Quando si deseleziona l'opzione Sola lettura per una variabile, la proprietà Writable per la variabile viene impostata su true. Per aggiornare il valore generato da un'espressione, utilizzare il metodo SetValue, ad esempio =Variables!MyVariable.SetValue("123").
[!NOTA]
Non è possibile controllare quando l'elaboratore di report inizializza una variabile o valuta un'espressione che aggiorna una variabile. L'ordine di esecuzione per l'inizializzazione delle variabili non è definito.
Per ulteriori informazioni sulle sessioni, vedere Anteprima di report in Generatore report.
Variabili di gruppo
Utilizzare una variabile di gruppo per calcolare un'espressione complessa nell'ambito di un gruppo. Una variabile di gruppo è valida solo nell'ambito del gruppo e dei relativi gruppi figlio.
Si supponga, ad esempio, che in un'area dati vengano visualizzati dati di inventario per elementi che rientrano in diverse categorie di imposta e che si desideri applicare aliquote d'imposta diverse per ogni categoria. I dati verranno raggruppati in base alla Category e verrà definita una variabile Tax nel gruppo padre. Verrà quindi definita una variabile di gruppo per ItemTax per ogni categoria di imposta e ogni sottogruppo Category diverso verrà assegnato alla variabile di gruppo corretta. Ad esempio:
Per il gruppo padre basato su [Category], definire la variabile Tax con un valore [Tax]. Si supponga che i valori di categoria siano Food e Clothing.
Per il gruppo figlio basato su [Subcategory], definire la variabile ItemsTax come =Variables!Tax.Value * Sum(Fields!Price.Value). Si supponga che i valori di sottocategoria per la categoria Food siano Beverages e Bread e che i valori di sottocategoria per Clothing siano Shirts e Hats.
Per una casella di testo in una riga del gruppo figlio, aggiungere l'espressione =Variables!ItemsTax.Value.
Nella casella di testo viene visualizzata l'imposta totale per Beverages e Bread utilizzando l'imposta di Food e per Shirts e Hats utilizzando l'imposta di Clothing.
Per aggiungere una variabile di gruppo, aprire la finestra di dialogo Proprietà gruppo Tablix, fare clic su Variabili, quindi specificare un nome e un valore. La variabile di gruppo viene calcolata una volta per ogni valore di gruppo univoco.
Per fare riferimento alla variabile in un'espressione, utilizzare la sintassi di raccolta globale, ad esempio =Variables!GroupDescription.Value. Nell'area di progettazione il valore viene visualizzato in una casella di testo come <<Expr>>.
Vedere anche
Riferimento
Raccolte predefinite nelle espressioni (Generatore report e SSRS)
Esempi di espressioni (Generatore report e SSRS)
Concetti
Filtro, raggruppamento e ordinamento di dati (Generatore report e SSRS)