ביטויים מותנים

אפשר להשתמש בביטויים מותנים כדי ליצור ביטויים שממירים ערכים.

הביטויים המותנים המתוארים בחלק זה הם אבני בניין ליצירת ביטויים שממירים ערך מתבנית אחת לאחרת.

פעל לפי הכללים הבאים:

  • במשפטי CASE, ל-ANDיש קדימות על פני OR.
  • מחרוזות חייבות להיות במרכאות יחידות.
ביטוי דוגמה תיאור תחביר

CASE (If)

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

מעריך כל תנאי WHEN ואם הוא מתקיים, מקצה את הערך לביטוי THEN המקביל.

אם אף לא אחד מהתנאים של WHEN מתקיים, הוא מקצה ערך ברירת מחדל שצוין בביטוי ELSE. אם לא צוין ביטוי ELSE, המערכת מוסיפה באופן אוטומטי ELSE NULL.

הערה: ראהשיטות עבודה מומלצות לשימוש במשפטי CASE בניתוחים והמחשות.

CASE WHEN request_condition1 THEN expr1 ELSE expr2 END

CASE (Switch)

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

נקרא גם CASE (Lookup). הערך של הביטוי הראשון נבדק, ולאחר מכן ביטויי WHEN. אם הביטוי הראשון תואם לאחד מביטויי WHEN , הוא מקצה את הערך בביטוי THEN המתאים.

אם אף לא אחד מביטויי WHEN מתאים, הוא מקצה את ערך ברירת המחדל שצוין בביטוי ELSE. אם לא צוין ביטוי ELSE, המערכת מוסיפה באופן אוטומטי ELSE NULL.

אם הביטוי הראשון תואם לביטוי בכמה פסוקי WHEN, רק.הביטוי שלאחר ההתאמה הראשונה מוקצה.

הערה ראהשיטות עבודה מומלצות לשימוש במשפטי CASE בניתוחים והמחשות.

CASE expr1 WHEN expr2 THEN expr3 ELSE expr4 END

IfCase > ELSE

-

-

ELSE [expr]

IfCase > IFNULL

-

-

IFNULL([expr], [value])

IfCase > NULLIF

-

-

NULLIF([expr], [expr])

IfCase > WHEN

-

-

WHEN [Condition] THEN [expr]

IfCase > CASE

-

-

CASE WHEN [Condition] THEN [expr] END

SwitchCase > ELSE

-

-

ELSE [expr]

SwitchCase >IFNULL

-

-

IFNULL([expr], [value])

SwitchCase > NULLIF

-

-

NULLIF([expr], [expr])

SwitchCase > WHEN

-

-

WHEN [Condition] THEN [expr]

שיטות עבודה מיטביות לשימוש במשפטי CASE בניתוחים והמחשות

כאשר אתה משתמש במשפטי CASE בדוחות וחוברות עבודה, שקול את עמודות הדוח ואת סדר הסכימה, כי אלה משפיעים על אופן החישוב של ביטויים וסיכומי ביניים.

  • בדרך כלל, כאשר אתה משתמש במשפטי CASE, הקפד שכל העמודות שהביטוי משתמש בהן כלולות בדוח.

  • אם סדר הסכימה חשוב, שנה את כלל הסכימה של הדוח מ'ברירת מחדל' ל'סכום'.
  • אם צריך להעריך תנאי לפני חישוב הסכימה (למשל, אם העמודה המסוננת לא מוצגת בדוח), השתמש בפונקציה FILTER.

דוגמה

דוגמה זו משתמשת בנתונים למותג, סוג מוצר והכנסה.
להלן תיאור של GUID-5837A210-154F-4FAC-922D-EBF0A21C349A-default.png
.png

כדי להחיל תנאי להגדרת ההכנסה מ-Camera ל-0, צור את ביטוי התנאי הבא: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE הכנסה END.

כאשר Product_Type אינו נכלל בדוח, נתונים אינם זמינים להערכת הביטוי כיוון שהוא מכיל Product_Type, והתוצאות הן:
להלן תיאור של GUID-22873F41-3679-45DF-821D-4167594FE069-default.png
.png

על ידי הוספת PRODUCT_TYPE לדוח והגדרת סכימת הדוח כ-SUM, התוצאה מסוכמת אחרי חישוב הערכים ברמת הבסיס:
להלן תיאור של GUID-0BEEE7E1-73CE-4BAA-98A2-683830E18E12-default.png
.png

במקום להשתמש ב-CASE אפשר להשתמש בביטוי מסנן: FILTER(הכנסה using Product_Type != ‘Camera’). הביטוי מחושב באופן בלתי תלוי מעמודות הדוח, וסכימות מוחלות אחרי חישוב:
להלן תיאור של GUID-F428B1A7-A9FF-425B-80F1-BB709769CE5C-default.png
.png