Formule nelle query del modello di report (Generatore report e SSRS)Formulas in Report Model Queries (Report Builder and SSRS)

Le formule sono calcoli eseguiti su valori in un report che utilizzano un modello di report come origine dati.Formulas are calculations performed on values in a report that use a report model as a data source. Le formule vengono definite nella finestra di dialogo Definisci formula in Progettazione query modelli di report quando si definisce una query per un'origine dati dei modelli di report.You define formulas in the Define Formula Dialog Box in the Report Model Query Designer when you define a query for a report model data source. Una formula può includere funzioni, operatori, costanti e riferimenti a campi oppure entità.A formula can contain functions, operators, constants, and references to fields or entities. Le formule consentono di combinare, aggregare, filtrare e restituire dati sia numerici sia di testo.Formulas allow you to combine, aggregate, filter, and evaluate both numeric and text data. È possibile creare formule e salvarle come nuovi campi oppure modificare quelle esistenti.You can create formulas and save them as new fields or you can modify the formulas of existing fields.

Le formule non sono espressioni RDL e non iniziano con un segno di uguale (=).Formulas are not RDL expressions and do not begin with an equals sign (=). Per altre informazioni sulle espressioni RDL, vedere Espressioni (Generatore report e SSRS).For more information about RDL expressions, see Expressions (Report Builder and SSRS).

L'aspetto delle formule può essere simile a quanto segue:Formulas can look similar to any of the following:

  • Sum Line TotalSum Line Total

  • 6+126+12

  • SUM(IF(Finished Goods Flag, "Finished", "Unfinished"))SUM(IF(Finished Goods Flag, "Finished", "Unfinished"))

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.

RiferimentiReferences

Si tratta del nome di un campo.A reference is a field name. Il riferimento può corrispondere al nome di un campo esistente all'interno dell'entità oppure al nome di un campo calcolato creato e aggiunto all'elenco Campi.This can be an existing field name within the entity, or a calculated field name that you have created and added to the Fields list. In Generatore report il riferimento indica la posizione in cui cercare i valori o i dati che si desidera utilizzare nella formula.The reference tells Report Builder where to look for the values, or data, you want to use within a formula. In una formula è possibile fare riferimento a campi nell'entità di contesto e a campi di altre entità oppure è possibile utilizzare il valore corrispondente a un determinato campo in più formule.You can refer to fields within your context entity and to fields in other entities within one formula or use the value from one field in several formulas.

Quando si utilizzano i riferimenti, l'elaboratore di report esegue la formula su ogni valore incluso nel campo.When you use references, the report processor runs the formula against each value within the field. Ad esempio, si supponga che un campo contenga il totale delle vendite su base annua relativamente agli ultimi cinque anni.For example, suppose a field contains the yearly sales total for the past five years. Nel campo sono quindi presenti cinque valori, ognuno corrispondente al totale delle vendite di un anno specifico.This field contains five values, each representing the sales total for a given year. Se la formula contiene un riferimento a tale campo, ai fini del calcolo del nuovo valore viene utilizzato ogni singolo valore.If your formula contains a reference to this field, the formula calculates the new value using each individual value.

OperatoriOperators

Gli operatori consentono di specificare il tipo di calcolo che si desidera eseguire sui valori di una formula.Operators specify the type of calculation that you want to perform on the values of a formula. Vi sono tre tipi diversi di operatori di calcolo, ovvero aritmetici, di confronto e di testo.There are three different types of calculation operators: arithmetic, comparison, and text. Gli operatori vengono indicati tramite simboli, ad esempio il segno di addizione (+).Operators are indicated using symbols, such as the plus sign (+).

Operatori aritmetici.Arithmetic Operators. Gli operatori aritmetici consentono di eseguire operazioni matematiche semplici, ad esempio l'addizione, la sottrazione o la moltiplicazione, nonché di combinare e restituire valori numerici.Arithmetic operators perform basic mathematical operations such as addition, subtraction or multiplication, combine numbers, and produce numeric results.

Operatori di confronto.Comparison Operators. Questo tipo di operatori consente di confrontare due valori.You can compare two values using comparison operators. Quando vengono messi a confronto due valori tramite questi operatori, il risultato corrisponde a un valore logico, ovvero TRUE o FALSE.When two values are compared by using these operators, the result is a logical value, either TRUE or FALSE.

Operatore di concatenazione del testo.Text Concatenation Operator. Utilizzare la e commerciale (&) per unire, o concatenare, una o più stringhe di testo al fine di restituire un'unica stringa.Use the ampersand (&) to join, or concatenate, one or more text strings to produce a single piece of text.

CostantiConstants

Si tratta di valori che non vengono calcolati e che pertanto non cambiano.A constant is a value that is not calculated and, therefore, does not change. In Generatore report vengono usate le costanti seguenti: True, Falseed Empty.Report Builder uses the following constants: True, False, and Empty. Tali costanti vengono utilizzate per valutare i campi booleani.These constants are used to evaluate Boolean fields. Ad esempio, si supponga di disporre di un campo denominato IsDiscontinued.For example, suppose you have a field called IsDiscontinued. Gli unici valori validi per questo campo sono True, False o Empty (" ").The only valid values for this field are True, False, or Empty (" ").

FunzioniFunctions

Si tratta di formule predefinite che consentono di eseguire calcoli usando valori specifici, denominati argomenti, in un ordine stabilito.Functions are predefined formulas that perform calculations by using specific values, called arguments, specified in a particular order. Gli argomenti possono essere valori letterali o campi oppure combinazioni dei due.Arguments can be literal values or fields, or combinations of both. Quando si utilizzano i campi nelle formule, il nome rappresenta ogni istanza del campo.When fields are used in formulas, the field name represents each instance of the field. Se l'argomento è un valore letterale, potrebbe essere necessario indicare i caratteri che vengono utilizzati.If the argument is a literal value, you might need to indicate that the argument is a literal value using specific characters.

Le funzioni possono essere utilizzate per eseguire calcoli semplici o complessi.Functions can be used to perform simple or complex calculations. La struttura di una funzione inizia con il nome della funzione, seguito da una parentesi di apertura, dagli argomenti per la funzione separati da virgole e da una parentesi di chiusura.The structure of a function begins with the function name, followed by an opening parenthesis, the arguments for the function separated by commas, and a closing parenthesis.

Esempio di una funzione.An example of a function.

Gli argomenti possono essere riferimenti a campi, numeri, testo e valori logici come TRUE o FALSE.Arguments can be field references, numbers, text, and logical values such as TRUE or FALSE. Gli argomenti possono inoltre essere costanti, formule oppure altre funzioni.Arguments can also be constants, formulas, or other functions. Gli argomenti immessi devono generare un valore valido per l'argomento.The arguments that you enter must produce a valid value for that argument. Ad esempio, se la formula consiste nella moltiplicazione di due numeri interi, il risultato non può essere una stringa di testo.For example, if the formula is multiplying two integers, the result cannot be a text string.

In Generatore report sono disponibili le seguenti nove categorie di funzioni di utilizzo comune:Report Builder comes with the following nine categories of commonly used functions:

Funzioni di aggregazioneAggregate functions AVG, COUNT, COUNTDISTINCT, MAX, MIN, STDEV, STDEVP, SUM, VAR, VARPAVG, COUNT, COUNTDISTINCT, MAX, MIN, STDEV, STDEVP, SUM, VAR, VARP
Funzioni condizionaliConditional functions IF, IN, SWITCHIF, IN, SWITCH
Funzioni di conversioneConversion functions INT, DECIMAL, FLOAT, TEXTINT, DECIMAL, FLOAT, TEXT
Funzioni di data e oraDate and time functions DATE, DATEADD, DATEDIFF, DATETIME, DATEONLY, DAY, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, NOW, QUARTER, SECOND, TIMEONLY, TODAY, WEEK, YEARDATE, DATEADD, DATEDIFF, DATETIME, DATEONLY, DAY, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, NOW, QUARTER, SECOND, TIMEONLY, TODAY, WEEK, YEAR
Funzioni informativeInformation functions GETUSERCULTURE, GETUSERIDGETUSERCULTURE, GETUSERID
Funzioni logicheLogical functions AND, NOT, ORAND, NOT, OR
Funzioni matematicheMath functions MOD, ROUND, TRUNCMOD, ROUND, TRUNC
OperatoriOperators Addizione (+), divisione (/), uguale a (=), elevamento a potenza (^), maggiore di (>), maggiore o uguale a (>=), minore di (<), minore o uguale a (<=), moltiplicazione (), negazione (-), diverso da (<>), sottrazione (-)Add (+), Divide (/), Equal to (=), Exponentiation (^), Greater than (>), Greater than or equal to (>=), Less than (<), Less than or equal to (<=), Multiply (), Negate (-), Not equal to (<>), Subtract (-)
Funzioni di testoText functions CONCAT, FIND, LEFT, LENGTH, LOWER, LTRIM, REPLACE, RIGHT, RTRIM, SUBSTRING, UPPERCONCAT, FIND, LEFT, LENGTH, LOWER, LTRIM, REPLACE, RIGHT, RTRIM, SUBSTRING, UPPER