Integration Services-Ausdrücke (SSIS)

Ein Ausdruck ist eine Kombination aus Symbolen (Bezeichner, Literale, Funktionen und Operatoren), die einen einzelnen Datenwert ergeben. Einfache Ausdrücke können aus einer einzelnen Konstante, Variable oder Funktion bestehen. Meist sind Ausdrücke jedoch komplex, verwenden mehrere Operatoren und Funktionen und verweisen auf mehrere Spalten und Variablen. In Integration Services können Ausdrücke zum Definieren von Bedingungen für CASE-Anweisungen, Erstellen und Aktualisieren von Werten in Datenspalten, Zuweisen von Werten zu Variablen, Aktualisieren oder Auffüllen von Eigenschaften zur Laufzeit, Definieren von Einschränkungen in Rangfolgeneinschränkungen sowie zum Bereitstellen von Ausdrücken für den For-Schleifencontainer verwendet werden.

Ausdrücke basieren auf einer Ausdruckssprache und der Ausdrucksauswertung. Die Ausdrucksauswertung analysiert Ausdrücke und ermittelt, ob sich Ausdrücke an die Regeln der Ausdruckssprache halten. Weitere Informationen zur Ausdruckssyntax und zu unterstützten Literalen und Bezeichnern finden Sie in den folgenden Themen.

Komponenten, die Ausdrücke verwenden

In Integration Services können für die folgenden Elemente Ausdrücke verwendet werden:

  • Die Transformation für bedingtes Teilen, die eine auf Ausdrücken basierende Entscheidungsstruktur implementiert, um Datenzeilen an verschiedene Ziele weiterzuleiten. In einer Transformation für bedingtes Teilen verwendete Ausdrücke müssen zu true oder false ausgewertet werden. Beispielsweise können die Zeilen, die die Bedingung im Ausdruck „Column1 > Column2“ erfüllen, an eine andere Ausgabe weitergeleitet werden.

  • Die Transformation für abgeleitete Spalte, die mithilfe von Ausdrücken erstellte Werte verwendet, um neue Spalten in einem Datenfluss aufzufüllen, oder um vorhandene Spalten zu aktualisieren. Beispielsweise kann der Ausdruck Column1 + " ABC" verwendet werden, um einen Wert zu aktualisieren, oder um mit der verketteten Zeichenfolge einen neuen Wert zu erstellen.

  • Variablen, deren Wert mit einem Ausdruck festgelegt werden kann. Die Variable GETDATE() legt z. B. den Wert der Variablen auf das aktuelle Datum fest.

  • Rangfolgeneinschränkungen, bei denen mithilfe von Ausdrücken die Bedingungen angegeben werden können, die festlegen, ob der eingeschränkte Task oder Container eines Pakets ausgeführt wird. In einer Rangfolgeneinschränkung verwendete Ausdrücke müssen zu true oder false ausgewertet werden. Der Ausdruck „@A > @B“ vergleicht z. B. zwei benutzerdefinierte Variablen, um zu bestimmen, ob der eingeschränkte Task ausgeführt wird.

  • For-Schleifen-Container, bei denen mithilfe von Ausdrücken Initialisierungs-, Auswertungs- und Inkrementanweisungen erstellt werden können, die von der Schleifenstruktur verwendet werden. Der Ausdruck @Counter = 1 z. B. initialisiert den Schleifenzähler.

Ausdrücke können auch zum Aktualisieren der Werte von Paketeigenschaften, Containern wie dem For- und dem Foreach-Schleifencontainer, Tasks, Verbindungs-Managern auf Paket- und Projektebene, Protokollanbietern und Foreach-Enumeratoren verwendet werden. Mithilfe eines Eigenschaftsausdrucks kann z.B. die Zeichenfolge „Localhost.AdventureWorks“ der ConnectionName-Eigenschaft des Tasks „SQL ausführen“ zugewiesen werden. Weitere Informationen finden Sie unter Verwenden von Eigenschaftsausdrücken in Paketen.

Symbolmarker für Ausdrücke

In SQL Server Data Tools (SSDT) wird ein spezieller Symbolmarker neben Verbindungs-Managern, Variablen und Tasks angezeigt, für die Ausdrücke festgelegt sind. Die HasExpressions -Eigenschaft ist für alle SSIS-Objekte verfügbar, die Ausdrücke unterstützen, mit Ausnahme von Variablen. Mit der Eigenschaft können Sie bequem ermitteln, welche Objekte über Ausdrücke verfügen.

Ausdrucks-Generator

Der Ausdrucks-Generator ist ein grafisches Tool zum Erstellen von Ausdrücken. Dieser ist in den Dialogfeldern Transformations-Editor für bedingtes Teilen, Transformations-Editor für abgeleitete Spalte und Ausdrucks-Generator verfügbar, es handelt sich um ein grafisches Tool zum Erstellen von Ausdrücken.

Der Ausdrucks-Generator stellt Ordner bereit, die paketspezifische Elemente enthalten, sowie Ordner, die die von der Ausdruckssprache bereitgestellten Funktionen, Typumwandlungen und Operatoren enthalten. Paketspezifische Elemente umfassen Systemvariablen und benutzerdefinierte Variablen. In den Dialogfeldern Transformations-Editor für bedingtes Teilen und Transformations-Editor für abgeleitete Spalte können Sie auch Datenspalten anzeigen. Sie können Elemente aus den Ordnern in die Spalten Bedingung oder Ausdruck ziehen, um die Ausdrücke für die Transformationen zu erstellen, oder Sie können Ausdrücke direkt in die Spalten eingeben. Der Ausdrucks-Generator fügt erforderliche Syntaxelemente, wie z. B. das @-Präfix bei Variablennamen, automatisch hinzu.

Hinweis

Die Namen von benutzerdefinierten und Systemvariablen unterscheiden nach Groß-/Kleinschreibung.

Variablen verfügen über einen Gültigkeitsbereich, und im Ordner Variablen im Ausdrucks-Generator werden nur die Variablen aufgeführt, die im Gültigkeitsbereich enthalten sind und verwendet werden können. Weitere Informationen finden Sie unter Integration Services-Variablen (SSIS).

Verwenden eines Ausdrucks in einer Datenflusskomponente

Technischer Artikel, SSIS Expression Examples, auf social.technet.microsoft.com

Weitere Informationen

SQL Server Integration Services