Espressioni (Generatore report e SSRS)Expressions (Report Builder and SSRS)

Le espressioni vengono ampiamente usate nei report impaginati di Reporting ServicesReporting Services per recuperare, calcolare, visualizzare, raggruppare, ordinare, filtrare, parametrizzare e formattare i dati.Expressions are widely used throughout Reporting ServicesReporting Services paginated reports to retrieve, calculate, display, group, sort, filter, parameterize, and format data.

Molte proprietà dell'elemento del report possono essere impostate su un'espressioneMany report item properties can be set to an expression. tramite la quale è possibile controllare il contenuto, la progettazione e l'interattività del report.Expressions help you control the content, design, and interactivity of your report. Le espressioni sono scritte in MicrosoftMicrosoft Visual BasicVisual Basic, salvate nella definizione del report e valutate dall'elaboratore di report durante l'esecuzione del report.Expressions are written in MicrosoftMicrosoft Visual BasicVisual Basic, saved in the report definition, and evaluated by the report processor when you run the report.

A differenza di applicazioni come MicrosoftMicrosoft 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.Unlike applications such as MicrosoftMicrosoft Office Excel where you work with data directly in a worksheet, in a report, you work with expressions that are placeholders for data. Per visualizzare i dati effettivi dalle espressioni valutate, è necessario visualizzare in anteprima il report.To see the actual data from the evaluated expressions, you must preview the 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.When you run the report, the report processor evaluates each expression as it combines report data and report layout elements such as tables and charts.

Quando si progetta un report, molte espressioni degli elementi del report vengono impostate automaticamente.As you design a report, many expressions for report items are set for you. 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.For example, when you drag a field from the data pane to a table cell on the report design surface, the text box value is set to a simple expression for the field. Nel riquadro dei dati riportato nella figura seguente vengono visualizzate le opzioni ID Name, SalesTerritory, Code e Sales dei campi del set di dati.In the following figure, the Report Data pane displays the dataset fields ID, Name, SalesTerritory, Code, and Sales. Alla tabella sono stati aggiunti tre campi: [Name], [Code] e [Sales].Three fields have been added to the table: [Name], [Code], and [Sales]. La notazione [Name] nell'area di progettazione rappresenta l'espressione =Fields!Name.Valuesottostante.The notation [Name] on the design surface represents the underlying expression =Fields!Name.Value.

rs_DataDesignandPreviewrs_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.When you preview the report, the report processor combines the table data region with the actual data from the data connection and displays a row in the table for every row in the result set.

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.To enter expressions manually, select an item on the design surface, and use shortcut menus and dialog boxes to set the properties of the item. Quando viene visualizzato il pulsante (fx) o il valore <Expression> in un elenco a discesa, è possibile impostare la proprietà su un'espressione.When you see the (fx) button or the value <Expression> in a drop-down list, you know that you can set the property to an expression. Per altre informazioni, vedere Aggiungere un'espressione (Generatore report e SSRS)sottostante.For more information, see Add an Expression (Report Builder and SSRS).

Per sviluppare espressioni complesse o espressioni che consentono l'utilizzo di codice o assembly personalizzati, si consiglia di usare Progettazione report di SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).To develop complex expressions or expressions that use custom code or custom assemblies, we recommend that you use Report Designer in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). Per altre informazioni, vedere Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS)sottostante.For more information, see Custom Code and Assembly References in Expressions in Report Designer (SSRS).

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

Informazioni sulle espressioni semplici e complesse Understanding Simple and Complex Expressions

Le espressioni iniziano con il segno di uguale (=) e sono scritte in MicrosoftMicrosoft Visual BasicVisual Basic.Expressions begin with an equal sign (=) and are written in MicrosoftMicrosoft Visual BasicVisual 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.Expressions can include a combination of constants, operators, and references to built-in values (fields, collections, and functions), and to external or custom code.

Le espressioni possono essere utilizzate per specificare il valore di numerose proprietà dell'elemento del report.You can use expressions to specify the value of many report item properties. Le proprietà più comuni sono valori per caselle di testo e testo segnaposto.The most common properties are values for text boxes and placeholder text. In genere, se in una casella di testo è contenuta un'unica espressione, tale espressione è il valore della proprietà della casella di testo.Typically, if a text box contains only one expression, the expression is the value of the text box property. Se in una casella di testo sono contenute più espressioni, ognuna di queste rappresenta il valore di testo segnaposto nella casella di testo.If a text box contains multiple expressions, each expression is the value of placeholder text in the text box.

Per impostazione predefinita, le espressioni vengono visualizzate nell'area di progettazione del report come espressioni semplici o complesse.By default, expressions appear on the report design surface as simple or complex expressions.

  • 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.Simple A simple expression contains a reference to a single item in a built-in collection, for example, a dataset field, a parameter, or a built-in field. Un'espressione semplice viene visualizzata tra parentesi nell'area di progettazione.On the design surface, a simple expression appears in brackets. [FieldName] , ad esempio, corrisponde all'espressione sottostante =Fields!FieldName.Value.For example, [FieldName] corresponds to the underlying expression =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.Simple expressions are created for you automatically as you create the report layout and drag items from the Report Data pane to the design surface. Per altre informazioni sui simboli che rappresentano raccolte predefinite diverse, vedere Informazioni sui simboli di prefissi in espressioni semplici.For more information about the symbols that represent different built-in collections, see Understanding Prefix Symbols for Simple Expressions.

  • Complessa Espressione contenente riferimenti a più riferimenti, operatori e chiamate di funzioni predefiniti.Complex A complex expression contains references to multiple built-in references, operators, and function calls. Un'espressione complessa viene visualizzata come <<Expr >> quando il valore dell'espressione include più di un semplice riferimento.A complex expression appears as <<Expr>> when the expression value includes more than a simple reference. Per visualizzare l'espressione, posizionare il puntatore del mouse su tale espressione e utilizzare la descrizione comando.To view the expression, hover over it and use the tooltip. Per modificare l'espressione, aprirla nella finestra di dialogo Espressione .To edit the expression, open it in the Expression dialog box.

    Nella figura seguente vengono mostrate espressioni semplici e complesse tipiche sia per le caselle di testo sia per il testo segnaposto.The following figure shows typical simple and complex expressions for both text boxes and placeholder text.

    rs_ExpressionDefaultFormatrs_ExpressionDefaultFormat

    Per visualizzare valori di esempio anziché il testo per le espressioni, applicare la formattazione alla casella di testo o al testo segnaposto.To display sample values instead of text for expressions, apply formatting to the text box or placeholder text. Nella figura seguente viene mostrata l'area di progettazione del report attivata o disattivata per la visualizzazione dei valori di esempio:The following figure shows the report design surface toggled to show sample values:

    rs_ExpressionSampleValuesFormatrs_ExpressionSampleValuesFormat

    Per altre informazioni, vedere Formattazione di testo e segnaposto (Generatore report e SSRS).For more information, see Formatting Text and Placeholders (Report Builder and SSRS).

Formule di modelli di reportReport Model Formulas

Durante la progettazione di una query per un set di dati in cui viene usato un modello di report come origine dati, è possibile creare formule.When you are designing a query for a dataset that uses a report model as a data source, you can create formulas. Le formule sono calcoli eseguiti su valori in un report basati su dati di un modello di report.Formulas are calculations performed on values in a report that are based on data from a report model.

Per altre informazioni, vedere Formule nelle query del modello di report (Generatore report e SSRS).For more information, see Formulas in Report Model Queries (Report Builder and SSRS).

Informazioni sui simboli di prefissi in espressioni semplici Understanding Prefix Symbols in Simple Expressions

Nelle espressioni semplici vengono utilizzati simboli per indicare se il riferimento è a un campo, un parametro, una raccolta predefinita o la raccolta ReportItems.Simple expressions use symbols to indicate whether the reference is to a field, a parameter, a built-in collection, or the ReportItems collection. Nella tabella seguente vengono riportati esempi di testo visualizzato e di quello relativo alle espressioni:The following table shows examples of display and expression text:

ElementoItem Esempio di testo visualizzatoDisplay text example Esempio di testo dell'espressioneExpression text example
Campi del set di datiDataset fields [Sales]

[SUM(Sales)]

[FIRST(Store)]
=Fields!Sales.Value

=Sum(Fields!Sales.Value)

=First(Fields!Store.Value)
Parametri di reportReport parameters [@Param]

[@Param.Label]
=Parameters!Param.Value

=Parameters!Param.Label
Campi predefinitiBuilt-in fields [&ReportName] =Globals!ReportName.Value
Caratteri letterali utilizzati per il testo visualizzatoLiteral characters used for display text \[Sales\] [Sales]

Scrittura di espressioni complesse Writing Complex Expressions

Nelle espressioni possono essere inclusi riferimenti a funzioni, operatori, costanti, campi, parametri, elementi di raccolte predefinite nonché a codice personalizzato o assembly personalizzati incorporati.Expressions can include references to functions, operators, constants, fields, parameters, items from built-in collections, and to embedded custom code or custom assemblies.

Nota

Per sviluppare espressioni complesse o espressioni che consentono l'utilizzo di codice o assembly personalizzati, si consiglia di usare Progettazione report di SQL ServerSQL Server SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).To develop complex expressions or expressions that use custom code or custom assemblies, we recommend that you use Report Designer in SQL ServerSQL Server SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). Per altre informazioni, vedere Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS)sottostante.For more information, see Custom Code and Assembly References in Expressions in Report Designer (SSRS).

Nella tabella seguente vengono elencati i tipi di riferimenti che è possibile includere in un'espressione:The following table lists the kinds of references you can include in an expression:

RiferimentiReferences DescriptionDescription EsempioExample
CostantiConstants Vengono descritte le costanti a cui è possibile accedere in modo interattivo per le proprietà che richiedono valori costanti, ad esempio i colori dei caratteri.Describes the constants you can access interactively for properties that require constant values, such as font colors. ="Blue"
OperatoriOperators Vengono descritti gli operatori che possono essere utilizzati per la combinazione di riferimenti in un'espressione.Describes the operators you can use to combine references in an expression. L'operatore & , ad esempio, viene usato per la concatenazione di stringhe.For example, the & operator is used for concatenating strings. ="The report ran at: " & Globals!ExecutionTime & "."
Raccolte predefiniteBuilt-in Collections Vengono descritte le raccolte predefinite che è possibile includere in un'espressione, ad esempio, Fields, Parameterse Variables.Describes the built-in collections that you can include in an expression, such as Fields, Parameters, and Variables. =Fields!Sales.Value

=Parameters!Store.Value

=Variables!MyCalculation.Value
Funzioni predefinite di report e di aggregazioneBuilt-in Report and Aggregate Functions Vengono descritte le funzioni predefinite, ad esempio Sum o Previous, cui è possibile accedere da un'espressione.Describes the built-in functions, such as Sum or Previous, that you can access from an expression. =Previous(Sum(Fields!Sales.Value))
Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS)Custom Code and Assembly References in Expressions in Report Designer (SSRS) Viene descritto come accedere alle classi CLR predefinite Math e Convert, ad altre classi CLR, a funzioni della libreria di runtime di Visual BasicVisual Basic o a metodi da un assembly esterno.Describes how you can access the built-in CLR classes Math and Convert, other CLR classes, Visual BasicVisual Basic run-time library functions, or methods from an external assembly.

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.Describes how you can access custom code that is embedded in your report, or that you compile and install as a custom assembly on both the report client and the report server.
=Sum(Fields!Sales.Value)

=CDate(Fields!SalesDate.Value)

=DateAdd("d",3,Fields!BirthDate.Value)

=Code.ToUSD(Fields!StandardCost.Value)

Convalida delle espressioni Validating Expressions

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à.When you create an expression for a specific report item property, the references that you can include in an expression depend on the values that the report item property can accept and the scope in which the property is evaluated. Esempio:For example:

  • Per impostazione predefinita, l'espressione [Sum] consente di calcolare la somma di dati presenti nell'ambito al momento della valutazione dell'espressione.By default, the expression [Sum] calculates the sum of data that is in scope at the time the expression is evaluated. Per una cella della tabella, l'ambito dipende dalle appartenenze ai gruppi di righe e di colonne.For a table cell, the scope depends on row and column group memberships. Per altre informazioni, vedere Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)sottostante.For more information, see Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

  • Per il valore di una proprietà Font, tramite il valore deve essere restituito il nome di un tipo di carattere.For the value for a Font property, the value must evaluate to the name of a font.

  • La sintassi dell'espressione viene convalidata in fase di progettazioneExpression syntax is validated at design time. mentre la convalida dell'ambito dell'espressione viene eseguita durante la pubblicazione del report.Expression scope validation occurs when you publish the report. Per convalide che dipendono dai dati effettivi, gli errori possono essere rilevati solo in fase di esecuzione.For validation that depends on the actual data, errors can only be detected at run-time. Alcune di queste espressioni generano un messaggio di errore di tipo #Errore nel report sottoposto a rendering.Some of these expressions produce #Error as an error message in the rendered report. Per determinare i problemi relativi a questo tipo di errore, è necessario utilizzare Progettazione report in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).To help determine the issues for this kind of error, you must use Report Designer in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). In Progettazione report è disponibile una finestra Output nella quale vengono fornite ulteriori informazioni su questi errori.Report Designer provides an Output window that provides more information about these errors.

    Per altre informazioni, vedere Riferimento dell'espressione (Generatore report e SSRS)sottostante.For more information, see Expression Reference (Report Builder and SSRS).

Argomenti della sezione In This Section

Aggiungere un'espressione (Generatore report e SSRS)Add an Expression (Report Builder and SSRS)

Utilizzo delle espressioni nei report (Generatore report e SSRS)Expression Uses in Reports (Report Builder and SSRS)

Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)

Riferimento dell'espressione (Generatore report e SSRS)Expression Reference (Report Builder and SSRS)

Vedere ancheSee Also

Per ulteriori informazioni ed esempi, vedere gli argomenti seguenti:For more information and examples, see the following topics: