Condividi tramite


Espressioni in un report impaginato (Generatore di report)

Si applica a: Generatore di report Microsoft (SSRS) Power BI Report Builder Report Designer in SQL Server Data Tools

Le espressioni vengono ampiamente usate nei report impaginati per recuperare, calcolare, visualizzare, raggruppare, ordinare, filtrare, parametrizzare e formattare i dati.

Molte proprietà degli elementi di un report possono essere impostate su un'espressione. Le espressioni consentono di controllare il contenuto, il design e l'interattività del report. Le espressioni vengono scritte in Microsoft Visual Basic, salvate nella definizione del report e valutate dall'elaboratore di report quando si esegue il report.

A differenza di applicazioni come Microsoft Office Excel, in cui è possibile usare i dati direttamente in un foglio di lavoro, in un report è possibile gestire espressioni che sono 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. Nella figura seguente, il riquadro Dati report visualizza i campi del set di dati ID, Name, SalesTerritory, Code e Sales. Alla tabella sono stati aggiunti tre campi: [Name], [Code] e [Sales]. La notazione [Name] nell'area di progettazione rappresenta l'espressione =Fields!Name.Valuesottostante.

rs_DataDesignandPreview

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 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 file di definizioni di report impaginati (con estensione rdl) in Generatore report di Microsoft, Power BI Report Builder e Progettazione report di SQL Server Data Tools.

Informazioni sulle espressioni semplici e complesse

Le espressioni iniziano con il 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 elementi dal riquadro Dati 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.

rs_ExpressionDefaultFormat

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:

rs_ExpressionSampleValuesFormat

Per altre informazioni, vedere Formattazione di testo e segnaposto (Generatore report e SSRS).

Informazioni sui simboli di prefissi in espressioni semplici

Le espressioni semplici usano simboli per indicare se il riferimento è a un campo, a un parametro, a una raccolta predefinita o alla raccolta ReportItems. Nella tabella seguente vengono riportati esempi di testo visualizzato e di quello relativo alle espressioni:

Articolo 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 Report Designer in SQL Server Data Tools (SSDT) di SQL Server. 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, Parameterse 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 e assembly personalizzati in espressioni in Progettazione report (SSRS). Viene descritto come accedere alle classi CLR predefinite Math e Convert, ad altre classi CLR, a funzioni della libreria di runtime di Visual Basic o a metodi da 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 della proprietà Font, il valore deve restituire 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 #Errore come messaggio di errore nel report visualizzabile. 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).

In questa sezione

Aggiungere un'espressione (Generatore di report e SSRS)

Utilizzo delle espressioni nei report (Generatore di report e SSRS)

Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore di report e SSRS)

Riferimento dell'espressione (Generatore di report e SSRS)