הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

איך משתמשים בCASE ב SSIS?

More
16 years 11 months ago #4019 by inbs
למשל יש לי CASE מורכב בשאילתא איך אני מכניס אותו לSSIS?
Code:
CASE WHEN MyInput="1" THEN "A" WHEN MySecondInput="1" THEN "B" WHEN MyInput="2" AND MyColor="Red" THEN "C" ELSE "F" END
תודה

Please התחברות to join the conversation.

More
16 years 11 months ago #4031 by eldad
יש המון דרכים:
1. תכניס את זה בשאילתה שמביאה את הנתונים ב source של ה data flow
2. ב data flow תוסיף אובייקט case שיפריד בים המצבים, לכל אחד מההתפצלויות תוסיף את הערך הרצוי
    ב derived column
3. תשתמש רק ב derived column ע"מ ליצור את העמודה הרצוייה.
    הבעיה היא שהסינטקס יהיה ממש לא קריא:
  ([MyInput]=="1")?"A": ([MySecondInput]=="1")?"B" :([MyInput]=="2" AND MyColor=="Red")?"C":"F"

כתבתי את זה ב notePad אז יכול להיות שיש בקוד בעיות קטנות, אבל זה פחות או יותר הסינטקס.

Please התחברות to join the conversation.

More
16 years 11 months ago #4037 by PRO08
את אפשרות 3 לא אהבתי בגלל תחזוקה לקויה.
אפשרות 2 לוקה בחסר, ל CASE יש עדיפות למשפט הראשון מאשר לשני ולפי פתרון 2 הוא לא יודע להתמודד עם זה.
אפשרות 1 נראית לי טובה.

תודה

Please התחברות to join the conversation.

More
16 years 11 months ago #4051 by eldad
אני גם הרבה פעמים בוחר באפשרות 1  אבל גם באפשרות זו יש חשיבות לסדר של
הופעת ה case-ים שכן אם תנאי מוקדם יותר מחזיר true לא יבדקו התנאים האחרים
וזה זהה בהתנהגות ל case split .

Please התחברות to join the conversation.

Moderators: eldad
Time to create page: 0.282 seconds