• If you can use a lookup - use a lookup. Remember, you don't need an actual table for a lookup - your query could simply be a bunch of select statements unioned together:

    [font="Courier New"]SELECT 1 AS MyVal, 'Test' AS MyDesc

    UNION ALL SELECT 2 AS MyVal, 'Test2' AS MyDesc[/font]

    Having a table is nice because you would not have to open the package to add a new case value.

    Now, your new example is still possible with a lookup because you can join on two fields (MyInput and Myinput02) to get your value. Where you would have trouble with a lookup is when you have something like:

    [font="Courier New"]CASE

    WHEN MyInput="1" THEN "A"

    WHEN MySecondInput="1" THEN "B"

    WHEN MyInput="2" AND MyColor="Red" THEN "C"

    ELSE "F"

    END[/font]

    In these situations, you can get into something that needs to be hard-coded into your package.

    Typically, I would recommend going to a script component - especially if the number of CASE items is pretty high. I can see some benefit to using a CONDITIONAL SPLIT - mostly because it puts the logic clearly in the data flow so it is really easy to follow.