Espressioni di Integration Services (SSIS)Integration Services (SSIS) Expressions

Un'espressione è una combinazione di simboli, ovvero identificatori, valori letterali, funzioni e operatori, che restituiscono un singolo valore di dati.An expression is a combination of symbols—identifiers, literals, functions, and operators—that yields a single data value. È possibile creare espressioni semplici, costituite da un'unica costante, variabile o funzione,Simple expressions can be a single constant, variable, or function. In genere le espressioni sono complesse in quanto includono più operatori e funzioni e fanno riferimento a più colonne e variabili.More frequently, expressions are complex, using multiple operators and functions and referencing multiple columns and variables. In Integration ServicesIntegration Servicesè possibile usare le espressioni per definire condizioni per istruzioni CASE, creare e aggiornare valori in colonne di dati, assegnare valori a variabili, aggiornare o popolare proprietà in fase di esecuzione, definire vincoli in vincoli di precedenza e definire espressioni usate dal contenitore Ciclo For.In Integration ServicesIntegration Services, expressions can be used to define conditions for CASE statements, create and update values in data columns, assign values to variables, update or populate properties at run time, define constraints in precedence constraints, and provide the expressions used by the For Loop container.

Le espressioni sono basate su un linguaggio delle espressioni e sull'analizzatore di espressioni.Expressions are based on an expression language, and the expression evaluator. L'analizzatore di espressioni consente di analizzare l'espressione e di verificare se le regole del linguaggio delle espressioni sono rispettate.The expression evaluator parses the expression and determines whether the expression follows the rules of the expression language. Per ulteriori informazioni sulla sintassi delle espressioni e sui valori letterali e identificatori supportati, vedere gli argomenti seguenti.For more information about the expression syntax and supported literals and identifiers, see the following topics.

Componenti che utilizzano espressioniComponents that Use Expressions

Le espressioni possono essere usate negli elementi di Integration ServicesIntegration Services seguenti:The following elements in Integration ServicesIntegration Services can use expressions:

  • La trasformazione Suddivisione condizionale implementa una struttura decisionale basata su espressioni per dirigere righe di dati su destinazioni diverse.The Conditional Split transformation implements a decision structure based on expressions to direct data rows to different destinations. Le espressioni usate in una trasformazione Suddivisione condizionale devono restituire true o false.Expressions used in a Conditional Split transformation must evaluate to true or false. Ad esempio, le righe che soddisfano la condizione dell'espressione "Column1 > Column2" possono essere indirizzate a un output separato.For example, rows that meet the condition in the expression "Column1 > Column2" can be routed to a separate output.

  • La trasformazione Colonna derivata utilizza i valori creati tramite espressioni per popolare nuove colonne del flusso di dati o per aggiornare le colonne esistenti.The Derived Column transformation uses values created by using expressions either to populate new columns in a data flow, or to update existing columns. Ad esempio, l'espressione Colonna1 + " ABC" consente di aggiornare un valore o di creare un nuovo valore con la stringa concatenata.For example, the expression Column1 + " ABC" can be used to update a value or to create a new value with the concatenated string.

  • Il valore delle variabili viene impostato tramite un'espressione.Variables use an expression to set their value. Ad esempio, GETDATE() imposta il valore della variabile sulla data corrente.For example, GETDATE() sets the value of the variable to the current date.

  • Nei vincoli di precedenza le espressioni consentono di impostare le condizioni che determinano se l'attività o il contenitore vincolato di un pacchetto viene eseguito.Precedence constraints can use expressions to specify the conditions that determine whether the constrained task or container in a package runs. Le espressioni usate in un vincolo di precedenza devono restituire true o false.Expressions used in a precedence constraint must evaluate to true or false. Ad esempio, l'espressione @A > @B Confronta due variabili definite dall'utente per determinare se viene eseguita l'attività vincolata.For example, the expression @A > @B compares two user-defined variables to determine whether the constrained task runs.

  • In un contenitore Ciclo For le espressioni consentono di compilare le istruzioni di inizializzazione, valutazione e incremento utilizzate dalla struttura del ciclo.The For Loop container can use expressions to build the initialization, evaluation, and the incrementing statements that the looping structure uses. Ad esempio, l'espressione @Counter = 1 Inizializza il contatore del ciclo.For example, the expression @Counter = 1 initializes the loop counter.

    Con le espressioni è inoltre possibile aggiornare i valori delle proprietà di pacchetti, contenitori quali ciclo For e ciclo Foreach, attività, gestioni connessioni a livello di pacchetto e progetto, provider di log ed enumeratori Foreach.Expressions can also be used to update the values of properties of packages, containers such as the For Loop and Foreach Loop, tasks, package and project level connection managers, log providers, and Foreach enumerators. Ad esempio, tramite un'espressione di proprietà, è possibile assegnare la stringa "Localhost.AdventureWorks" alla proprietà ConnectionName dell'attività Esegui SQL.For example, using a property expression, the string "Localhost.AdventureWorks" can be assigned to the ConnectionName property of the Execute SQL task. Per altre informazioni, vedere Utilizzo delle espressioni di proprietà nei pacchetti.For more information, see Use Property Expressions in Packages.

Marcatori icona per espressioniIcon Markers for Expressions

In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), un marcatore icona speciale viene visualizzato accanto a gestioni connessione, variabili e attività su cui sono impostate espressioni.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), a special icon marker displays next to connection managers, variables, and tasks that have expressions set on them. La proprietà HasExpressions è disponibile in tutti gli oggetti SSIS che supportano le espressioni, ad eccezione delle variabili.The HasExpressions property is available on all SSIS objects that support expresions, with the exception of variables. La proprietà consente di identificare facilmente gli oggetti che contengono espressioni.The property enables you to easily identy which objects have expressions.

Generatore di espressioniExpression Builder

Generatore di espressioni è uno strumento grafico per la compilazione di espressioni.The expression builder is a graphical tool for building expressions. È disponibile nelle finestre di dialogo Editor trasformazione Suddivisione condizionale, Editor trasformazione Colonna derivata e Generatore di espressioni ed è uno strumento grafico per la compilazione di espressioni.It is available in the Conditional Split Transformation Editor, Derived Column Transformation Editor dialog boxes, and in the Expression Builder dialog box, is a graphical tool for building expressions.

Il Generatore di espressioni include cartelle contenenti elementi specifici dei pacchetti e cartelle contenenti le funzioni, i cast di tipo e gli operatori del linguaggio delle espressioni.The expression builder provides folders that contain package-specific elements, and folders that contain the functions, type casts, and operators that the expression language provides. Gli elementi specifici dei pacchetti sono variabili definite dall'utente e di sistema.The package-specific elements include system variables and user-defined variables. Nelle finestre di dialogo Editor trasformazione Suddivisione condizionale e Editor trasformazione Colonna derivata è inoltre possibile visualizzare le colonne di dati.In the Conditional Split Transformation Editor and Derived Column Transformation Editor dialog boxes, you can also view data columns. Per compilare espressioni per le trasformazioni, è possibile trascinare elementi dalle cartelle alla colonna Condizione o Espressione o digitare l'espressione direttamente nella colonna.To build expressions for the transformations, you can drag items from the folders to the Condition or Expression column or you can type the expression directly in the column. Generatore di espressioni aggiunge automaticamente gli elementi di sintassi necessari, ad esempio il prefisso @ per i nomi delle variabili.The expression builder automatically adds needed syntax elements such as the @ prefix on variable names.

Nota

I nomi delle variabili di sistema e delle variabili definite dall'utente devono essere specificati rispettando la distinzione tra maiuscole e minuscole.The names of user-defined and system variables are case-sensitive.

Alle variabili è associato un ambito. Nella cartella Variabili del Generatore di espressioni sono elencate solo le variabili incluse nell'ambito e utilizzabili.Variables have scope, and the Variables folder in the expression builder lists only variables that are in scope and available to use. Per altre informazioni, vedere Variabili di Integration Services (SSIS).For more information, see Integration Services (SSIS) Variables.

Utilizzo di un'espressione in un componente flusso di datiUse an Expression in a Data Flow Component

Articolo tecnico SSIS Expression Examples(Esempi di espressioni SSIS) nel sito Web social.technet.microsoft.comTechnical article, SSIS Expression Examples, on social.technet.microsoft.com

Vedere ancheSee Also

SQL Server Integration ServicesSQL Server Integration Services