מטרות
במדריך הזה תלמדו:
- איך יוצרים שדה מחושב אריתמטי
- יוצרים ביטוי מותנה כדי להעריך את הנתונים ולהחזיר תוצאות שונות.
- מידע על גישות שונות להטמעה של שדות מחושבים.
תרחיש
נניח שאתם מנהלים חנות וירטואלית לציוד לחיות מחמד. יכול להיות שתמדדו נתוני מכירות, כמו קודי מוצרים (SKU), שמות פריטים, מחיר וכמות שנמכרה. הנה דוגמה:
| מק"ט | פריט | מחיר | כמות שנמכרה |
|---|---|---|---|
| D-001 | מזון בריא לכלבים | 79.96 |
16 |
| B-002 | מקל לתוכי | 74.97 |
8 |
| B-001 | Pretty Bird Bird Seed | 31.96 |
20 |
| C-002 | Hungry Kitty Cat Food | 29.98 |
3 |
| D-002 | צעצוע גור שמח | 17.97 |
11 |
| C-001 | Happy Cat Catnip |
14.97 |
4 |
שדות מחושבים ב-Data Studio יכולים לעזור לכם לעבד את הנתונים האלה ולהרחיב אותם. בתרגיל הזה תשתמשו בשדות שמכילים חישובים כדי לבצע את המשימות הבאות:
- חישוב הערך הכולל של כל הזמנה.
- הנחה על הזמנות מעל סכום מסוים.
- לסווג את המכירות לפי מחלקות.
נתונים לדוגמה
כדי לבצע את התרגיל הזה כמו שהוא כתוב, צריך להשתמש בנתונים לדוגמה הבאים. אחרת, משתמשים בנתונים שלכם (ומתאימים את שמות השדות בהתאם). צריכה להיות לכם גישה ל-Google Sheets. אפשר גם להשתמש במחבר להעלאת קבצים כדי לייבא את הנתונים ל-Data Studio.
מעתיקים את הנתונים האלה לקובץ טקסט:
SKU,Item,Price,Qty Sold D-001,Healthy Dog Dog Food,79.96,16 B-002,Parrot Perch,74.97,8 B-001,Pretty Bird Bird Seed,31.96,20 C-002,Hungry Kitty Cat Food,29.98,3 D-002,Playful Puppy Toy,17.97,11 C-001,Happy Cat Catnip,14.97,4
שלב 1: הכנת הנתונים
- מעתיקים את הנתונים לדוגמה שבתיבה הקודמת.
- פותחים כלי לעריכת טקסט, מדביקים את נתוני הדגימה ושומרים את הקובץ בשם
pet-store-data.csv.
ב-Sheets, בוחרים באפשרות קובץ > ייבוא.
בוחרים באפשרות העלאה ומעלים את קובץ נתוני הדוגמה שיצרתם בשלב 2.
בוחרים באפשרות החלפת גיליון אלקטרוני.
נותנים שם לגיליון האלקטרוני
Pet Store.
שלב 2: יוצרים דוח ומוסיפים את הנתונים
- יוצרים דוח חדש ב-Data Studio.
- בחלונית הוספת נתונים לדוח, בוחרים במחבר של Google Sheets.
- בוחרים את
Pet Storeהגיליון האלקטרוני ואת גיליון העבודה שיצרתם. - משאירים את האפשרויות שמוגדרות כברירת מחדל מסומנות.
- לוחצים על ADD.
מייד יוצג הדוח החדש, עם טבלה באזור העריכה שמשתמשת בשדות ממקור הנתונים של חנות חיות המחמד.
שלב 3: יצירת שדה של סכום ביניים
בתפריט, בוחרים באפשרות Resource > Manage added data sources.
מאתרים את מקור הנתונים Pet Store ולוחצים על
עריכה.מופיעה החלונית data source fields (שדות של מקור הנתונים).
לוחצים על
הוספת שדה.יופיע עורך השדות המחושבים.
בשדה שם השדה, מזינים
Subtotal.בשדה נוסחה, מזינים
Price * Qty Sold.לוחצים על SAVE.
כדי לחזור לעורך הראשי של מקור הנתונים, לוחצים על כל השדות.
שלב 4: יצירת שדה ההנחה
נניח שאתם רוצים לתת שיעורי הנחה שונים בהתאם לערך ההזמנה. יוצרים עוד שדה מחושב בשם Discount, שבודק את השדה Subtotal ומחיל את ההנחות הבאות.
| ערך סכום הביניים | שיעור ההנחה |
| 0-99 | 0 |
| 100-499 | 5% |
| 500 או יותר | 10% |
הערות:
- בשלב הזה, מחשבים רק את גובה ההנחה. תשתמשו בו בשלב הבא כדי להכפיל את הערך בשדה Subtotal (סיכום ביניים) בערך בשדה Discount (הנחה).
- משתמשים בביטוי
CASEכדי להעריך את השדה Subtotal.
- צריך להשתמש בסעיף
WHENלכל שיעור הנחה.- משתמשים בפסוקית
ELSEכדי להחזיר את המחיר המלא (הנחה של 0%).- ההנחה מבוטאת כערך עשרוני. לדוגמה, הנחה של 25% תהיה 0 .25.
פתרון
CASE WHEN Subtotal > 499 THEN .9 WHEN Subtotal > 100 THEN .95 ELSE 1 END
THENשלב 5: יצירת שדה הסכום הכולל
יוצרים שדה מחושב נוסף בשם Total, שמכפיל את השדה Subtotal בשדה Discount.
פתרון
Subtotal * Discount
שלב 6: יצירת השדה 'מחלקה'
יוצרים שדה מחושב סופי בשם Department שמנתח את שדה המק"ט ומקצה ערכים חדשים בהתאם למק"ט. תקבצו פריטים שקשורים לכלבים, לחתולים ולציפורים במחלקות נפרדות.
טיפ: אפשר להשתמש שוב בהצהרה
CASE, הפעם עם הפונקציהSTARTS_WITH(אוREGEXP_MATCH).
פתרון
CASE WHEN STARTS_WITH(SKU, "C") THEN "Cat" WHEN STARTS_WITH(SKU, "D") THEN "Dog" WHEN STARTS_WITH(SKU, "B") THEN "Bird" ELSE "Misc" END
שלב 7: הצגת הנתונים בדוח
- אחרי ששומרים את השדה Department, בצד ימין, לוחצים על ALL FIELDS כדי לחזור לכלי לעריכת מקורות נתונים.
- לוחצים על סיום ואז סוגרים את החלונית 'ניהול מקורות נתונים'.
עכשיו אפשר להוסיף תרשימים לשדות המחושבים החדשים באמצעות השלבים הבאים:
- בוחרים את הטבלה.
- מוסיפים לטבלה כל שדה מחושב שיצרתם. כדי לעשות זאת, גוררים את השדות מהחלונית נתונים אל הטבלה או אל החלונית הגדרה של הטבלה.
פתרונות חלופיים
בפתרון הקודם, הבעיה מחולקת לחלקים נפרדים ונוצרים שדות נפרדים לטיפול בכל חלק, כמו שעשיתם עם השדות Subtotal, Discount ו-Total.
גישה נוספת היא לבצע את כל החישובים בשדה מחושב אחד. לדוגמה, אפשר לשלב את שלבים 3 עד 5 של המדריך הזה בשדה אחד:
CASE WHEN Price * Qty Sold > 499 THEN (Price * Qty Sold) * .9 WHEN Price * Qty Sold > 100 THEN (Price * Qty Sold) * .95 ELSE Price * Qty Sold END
לכל גישה יש יתרונות וחסרונות:
פיצול של נוסחאות מורכבות לשדות נפרדים יכול להקל על הקריאה והכתיבה של הנוסחאות, וגם להפחית את הסיכון לשגיאות. שדות נפרדים יכולים להיות שימושיים גם בהקשרים נוספים. לדוגמה, אם משתמשים בשדה נפרד לשיעור ההנחה, אפשר להשתמש בשדה הזה בחישובים אחרים או להציג אותו בדוחות. חיסרון אחד ביצירת נוסחאות עם הרבה שדות נפרדים מחושבים הוא שלא תמיד ברור מה כל אחד מהם עושה, ולכן צריך לערוך אותם בנפרד כדי לראות איך הם מחושבים.
מצד שני, ריכוז כל הלוגיקה בשדה אחד יכול להקל על ההבנה והעריכה של הנוסחאות. אבל יכול להיות שתצטרכו גם להקליד הרבה פעמים את אותם דברים, ויהיה לכם קשה יותר להרחיב או לתחזק נוסחה מורכבת. לדוגמה, נניח שיש לכם 10 רמות של מוצרים עם ספי כמות שונים להזמנה. או נניח שאתם רוצים להשתמש באותן הנחות על קו מוצרים אחר. במקרים כאלה, יכול להיות שיהיה קל או יעיל יותר להשתמש בשדות נפרדים לסכומי הסף ולהנחות.
הדרך האמצעית
הפתרון הזה משלב בין שתי הגישות שתיארנו קודם. הוא שומר את הלוגיקה העיקרית בשדה אחד, ומפצל חלק מהלוגיקה התלויה לשדות נפרדים:
CASE WHEN Subtotal > Large Order THEN Subtotal * Large Order Discount WHEN Subtotal > Medium Order THEN Subtotal * Medium Order Discount ELSE Subtotal END
בפתרון הזה, יצרנו שדות נפרדים להחזקת ערכים של הזמנות גדולות ובינוניות וההנחות התואמות.


היתרון של הפתרון הזה הוא שהוא קל לקריאה, גמיש וקל יחסית להתאמה לפי הצורך.