Frage

Dies ist eine Frage der SQL Server Integration Services (SSIS) -Auskundschaft (ich bin ziemlich neu darin).

Ich möchte einen Switch/Case -Ausdruck in eine abgeleitete Spaltentransformation schreiben - im Grunde kann die neue Spalte 5 verschiedene mögliche Werte haben, basierend auf dem Wert einer Eingabespalte. Alles, was ich von Google bekommen habe, ist der (Zustand)? (True Value): (False Value) Technik, aber dies liefert nur zwei mögliche Werte. Haben SSIS -Ausdrücke einen Ausdruck zum Switch-/Falltyp?

Ich dachte daran, sequentielle Spaltentransformationen zu verwenden oder eine temporäre Suchentabelle zu erstellen, aber das scheint einfach komplizierter zu sein, als sie wirklich sein sollte.

Vielen Dank.

War es hilfreich?

Lösung

Ich habe das Äquivalent einer IF-ELSIF-ELSE-Anweisung verwendet, um das Problem wie folgt zu lösen:

(Bedingung1)? (True Value1): (Bedingung2)? (True Value2): (falscher Wert)

Andere Tipps

Obwohl technisch gesehen die Antwort von Avesse funktionieren wird, ist das Schreiben/Aufrechterhalten des Ausdrucks nicht die interessanteste Aufgabe.

Um zu vermeiden, dass komplexe Ausdrücke in der abgeleiteten Spaltenumwandlung geschrieben werden, würde ich empfehlen, eine Skripttransformation zu verwenden. Wenn Sie dies tun, können Sie .NET -Code zum Schreiben von A verwenden Schalter Aussage, viel schöner zu schreiben und zu warten. Ihre Kollegen werden es zu schätzen wissen!

Strukturieren Sie einfach Ihre?: Aussagen als gestapelt

@[User::SomeVariable] == 2 ? "SomeVariable is 2"
:
@[User::SomeVariable] == 3 ? "SomeVariable is 3"
:
@[User::SomeVariable] == 4 ? "SomeVariable is 4" 
:
"SomeVariable is not 2,3,4 is actually" + @[User::SomeVariable] 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top