Espressioni (Generatore report e SSRS)
Le espressioni vengono ampiamente utilizzate in un report per recuperare, calcolare, visualizzare, raggruppare, ordinare, filtrare, parametrizzare e formattare i dati. Molte proprietà dell'elemento del report possono essere impostate su un'espressione tramite la quale è possibile controllare il contenuto, la progettazione e l'interattività del report. Le espressioni sono scritte in Microsoft Visual Basic, vengono salvate nella definizione del report e vengono valutate dal componente Elaborazione report quando si esegue il report.
A differenza di applicazioni quali Microsoft Office Excel, in cui i dati vengono usati direttamente all'interno di un foglio di lavoro, in un report si usano espressioni, che rappresentano segnaposto per i dati. Per visualizzare i dati effettivi dalle espressioni valutate, è necessario visualizzare in anteprima il report. Durante l'esecuzione del report, tramite l'elaboratore di report è possibile valutare ogni espressione poiché vengono combinati i dati del report con gli elementi di layout del report quali tabelle e grafici.
Quando si progetta un report, molte espressioni degli elementi del report vengono impostate automaticamente. Ad esempio, quando si trascina un campo dal riquadro dei dati in una cella della tabella nell'area di progettazione del report, il valore della casella di testo viene impostato su un'espressione semplice per il campo. Nel riquadro dei dati riportato nella figura seguente vengono visualizzate le opzioni ID Name, SalesTerritory, Code e Sales dei campi del set di dati. Alla tabella sono stati aggiunti tre campi: [Name], [Code] e [Sales]. La notazione [Name] nell'area di progettazione rappresenta l'espressione =Fields!Name.Value
sottostante.
Quando si visualizza in anteprima il report, tramite l'elaboratore di report l'area dati della tabella viene combinata con i dati effettivi della connessione dati e viene visualizzata una riga nella tabella per ogni riga nel set di risultati.
Per immettere espressioni manualmente, selezionare un elemento nell'area di progettazione e utilizzare menu di scelta rapida e finestre di dialogo per impostare le proprietà dell'elemento. Quando viene visualizzato il pulsante (fx) o il valore <Expression>
in un elenco a discesa, è possibile impostare la proprietà su un'espressione. Per altre informazioni, vedere Aggiungere un'espressione (Generatore report e SSRS).
Per ulteriori informazioni ed esempi, vedere gli argomenti seguenti:
Utilizzo delle espressioni nei report (Generatore report e SSRS)
Esempi di espressioni di raggruppamento (Generatore report e SSRS)
Per sviluppare espressioni complesse o espressioni che consentono l'uso di codice o assembly personalizzati, si consiglia di usare Progettazione report in SQL Server Data Tools (SSDT). Per altre informazioni, vedere Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS).
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 altre informazioni, vedere Progettazione di report in Progettazione report e Report Builder (SSRS) sul Web in microsoft.com.
Informazioni sulle espressioni semplici e complesse
Le espressioni iniziano con un segno di uguale (=) e sono scritte in Microsoft Visual Basic. Nelle espressioni può essere inclusa una combinazione di costanti, operatori e riferimenti a valori predefiniti, ad esempio campi, raccolte e funzioni, e a codice esterno o personalizzato.
Le espressioni possono essere utilizzate per specificare il valore di numerose proprietà dell'elemento del report. Le proprietà più comuni sono valori per caselle di testo e testo segnaposto. In genere, se in una casella di testo è contenuta un'unica espressione, tale espressione è il valore della proprietà della casella di testo. Se in una casella di testo sono contenute più espressioni, ognuna di queste rappresenta il valore di testo segnaposto nella casella di testo.
Per impostazione predefinita, le espressioni vengono visualizzate nell'area di progettazione del report come espressioni semplici o complesse.
Semplice Espressione contenente un riferimento a un singolo elemento in una raccolta predefinita, ad esempio un campo del set di dati, un parametro oppure un campo predefinito. Un'espressione semplice viene visualizzata tra parentesi nell'area di progettazione.
[FieldName]
, ad esempio, corrisponde all'espressione sottostante=Fields!FieldName.Value
. Le espressioni semplici vengono create automaticamente quando si crea il layout del report e si trascinano gli elementi dal riquadro dei dati del report nell'area di progettazione. Per altre informazioni sui simboli che rappresentano raccolte predefinite diverse, vedere Informazioni sui simboli di prefissi in espressioni semplici.Complessa Espressione contenente riferimenti a più riferimenti, operatori e chiamate di funzioni predefiniti. Un'espressione complessa viene visualizzata come <<Expr>> se il valore dell'espressione include più riferimenti semplici. Per visualizzare l'espressione, posizionare il puntatore del mouse su tale espressione e utilizzare la descrizione comando. Per modificare l'espressione, aprirla nella finestra di dialogo Espressione .
Nella figura seguente vengono mostrate espressioni semplici e complesse tipiche sia per le caselle di testo sia per il testo segnaposto.
Per visualizzare valori di esempio anziché il testo per le espressioni, applicare la formattazione alla casella di testo o al testo segnaposto. Nella figura seguente viene mostrata l'area di progettazione del report attivata o disattivata per la visualizzazione dei valori di esempio:
Per altre informazioni, vedere Formattazione di testo e segnaposto (Generatore report e SSRS).
Informazioni sui simboli di prefissi in espressioni semplici
Nelle espressioni semplici vengono utilizzati simboli per indicare se il riferimento è a un campo, un parametro, una raccolta predefinita o la raccolta ReportItems. Nella tabella seguente vengono riportati esempi di testo visualizzato e di quello relativo alle espressioni:
Elemento | Esempio di testo visualizzato | Esempio di testo dell'espressione |
---|---|---|
Campi del set di dati | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
Parametri di report | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
Campi predefiniti | [&ReportName] |
=Globals!ReportName.Value |
Caratteri letterali utilizzati per il testo visualizzato | \[Sales\] |
[Sales] |
Scrittura di espressioni complesse
Nelle espressioni possono essere inclusi riferimenti a funzioni, operatori, costanti, campi, parametri, elementi di raccolte predefinite nonché a codice personalizzato o assembly personalizzati incorporati.
Nota
Per sviluppare espressioni complesse o espressioni che consentono l'uso di codice o assembly personalizzati, si consiglia di usare Progettazione report in SQL Server Data Tools (SSDT). Per altre informazioni, vedere Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS).
Nella tabella seguente vengono elencati i tipi di riferimenti che è possibile includere in un'espressione:
Riferimenti | Descrizione | Esempio |
---|---|---|
Costanti | Vengono descritte le costanti a cui è possibile accedere in modo interattivo per le proprietà che richiedono valori costanti, ad esempio i colori dei caratteri. | ="Blue" |
Operatori | Vengono descritti gli operatori che possono essere utilizzati per la combinazione di riferimenti in un'espressione. L'operatore & , ad esempio, viene utilizzato per la concatenazione di stringhe. |
="The report ran at: " & Globals!ExecutionTime & "." |
Raccolte predefinite | Vengono descritte le raccolte predefinite che è possibile includere in un'espressione, ad esempio, Fields , Parameters e Variables . |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
Funzioni predefinite di report e di aggregazione | Vengono descritte le funzioni predefinite, ad esempio Sum o Previous , cui è possibile accedere da un'espressione. |
=Previous(Sum(Fields!Sales.Value)) |
Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS) | Descrive come accedere alle classi CLR predefinite Math e Convert, ad altre classi CLR, alle funzioni di libreria runtime di Visual Basic o a metodi di un assembly esterno. Viene descritto come accedere a codice personalizzato incorporato nel report o compilato e installato come assembly personalizzato sia nel client che nel server di report. |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
Convalida delle espressioni
Quando si crea un'espressione per una proprietà specifica dell'elemento del report, i riferimenti che è possibile includere in un'espressione dipendono dai valori accettati dalla proprietà dell'elemento del report e dall'ambito nel quale viene valutata la proprietà. Ad esempio:
Per impostazione predefinita, l'espressione [Sum] consente di calcolare la somma di dati presenti nell'ambito al momento della valutazione dell'espressione. Per una cella della tabella, l'ambito dipende dalle appartenenze ai gruppi di righe e di colonne. Per altre informazioni, vedere Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS).
Per il valore di una proprietà Font, tramite il valore deve essere restituito il nome di un tipo di carattere.
La sintassi dell'espressione viene convalidata in fase di progettazione mentre la convalida dell'ambito dell'espressione viene eseguita durante la pubblicazione del report. Per convalide che dipendono dai dati effettivi, gli errori possono essere rilevati solo in fase di esecuzione. Alcune di queste espressioni generano un messaggio di errore di tipo #Errore nel report sottoposto a rendering. Per determinare i problemi relativi a questo tipo di errore, è necessario usare Progettazione report in SQL Server Data Tools (SSDT). In Progettazione report è disponibile una finestra Output nella quale vengono fornite ulteriori informazioni su questi errori.
Per altre informazioni, vedere Riferimento dell'espressione (Generatore report e SSRS).
Contenuto della sezione
Aggiungere un'espressione (Generatore report e SSRS)
Utilizzo delle espressioni nei report (Generatore report e SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)
Riferimento dell'espressione (Generatore report e SSRS)