SSISスイッチ/ケースの表現を書き込む方法は?
-
18-09-2019 - |
質問
これは、SQL Server Integration Services(SSIS)式の質問です(私はそれにかなり新しいです)。
派生列変換にスイッチ/ケースの式を書きたいと思います。基本的に、新しい列には、入力列の値に基づいて5つの異なる値を持つことができます。 Googleから得たのは(条件)だけですか? (真の値):( false Value)手法ですが、これは2つの可能な値のみを提供します。 SSIS式にはスイッチ/ケースタイプの式がありますか?
シーケンシャル導出された列変換を使用するか、一時的なルックアップテーブルを作成することを考えましたが、それは本当にそうあるべきであることをより複雑に思えます。
ありがとう。
解決
このような問題を解決するために、if-elseif-elseステートメントに相当するものを使用しました。
(条件1)? (true value1):(条件2)? (true value2):( false値)
他のヒント
技術的には、Avesseの答えは機能しますが、表現を書き込む/維持することは最も興味深い作業ではありません。
派生した列変換で複雑な表現を書くことを避けるために、スクリプト変換を使用することをお勧めします。それを行うことで、.NETコードを使用して書くことができます スイッチ 声明、書くと維持するのはずっと良い。あなたの同僚はそれを感謝するでしょう!
単にあなたの構造を構成しますか?:積み重ねられたステートメント
@[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]
所属していません StackOverflow