יצירת ביטויים ב-Looker

ביטויים ב-Looker הם נוסחאות שמשמשות לביצוע חישובים בהתאמה אישית ולהחלת לוגיקה מתקדמת ב-Looker. אפשר להשתמש בביטויי Looker כדי ליצור חישובי טבלה דינמיים, שדות בהתאמה אישית, מסננים בהתאמה אישית ובדיקות נתונים. היכולת הזו עוזרת לכם לחלץ תובנות ספציפיות ולהתאים אישית את ניתוח הנתונים. במדריך הזה מוסבר איך ליצור ביעילות ביטויי Looker ולהשתמש בהם.

קיצורי דרך לפונקציות נפוצות

לפני שיוצרים ביטויי Looker, כדאי לבדוק אם אפשר לבצע את המשימה באמצעות קיצורי דרך מובנים:

ביטויים של Looker

ביטויים ב-Looker משמשים לביצוע חישובים עבור:

ביטוי ב-Looker מורכב משילוב של הרכיבים הבאים:

  • NULL: הערך NULL מציין שאין נתונים, והוא יכול להיות שימושי כשרוצים לבדוק שמשהו ריק או לא קיים.

  • קבוע: קבוע הוא ערך קבוע שאתם מספקים. מספר כמו 7 או מחרוזת כמו Completed הם קבועים.

  • שדה Looker: הפניה לשדה Looker, שכולל מאפיינים, מדדים וחישובים בטבלה.

  • אופרטור של Looker: רשימת האופרטורים הזמינים מופיעה במאמר פונקציות ואופרטורים של Looker. האופרטורים הנתמכים כוללים את הקטגוריות הבאות:

    • אופרטורים מתמטיים (כמו +,‏ -,‏ * ו-/)
    • אופרטורים להשוואה (כמו =, > ו-<=)
    • אופרטורים לוגיים (כמו AND,‏ OR ו-NOT)
  • פונקציה ב-Looker: בדומה לפונקציות בגיליון אלקטרוני, פונקציות מאפשרות לכם לשנות את הנתונים או להפנות לנתונים בדרכים מורכבות. רשימת הפונקציות הזמינות מופיעה במאמר פונקציות ואופרטורים ב-Looker.

יצירת ביטויי Looker

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

הצגת כל ההצעות

כדי לגשת לעורך הביטויים של Looker ב'ניתוח נתונים', יוצרים חישוב בטבלה, שדה מותאם אישית או מסנן מותאם אישית.

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

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

בכלי לעריכת שדות בהתאמה אישית מוצגים שדות של 'ניתוח נתונים' שנמצאים כרגע בשימוש, אם הם תואמים לפונקציה של השדה בהתאמה אישית.

הוספת שדה

כדי לכלול שדה Looker בביטוי, מתחילים להקליד את שם השדה. בזמן ההקלדה, העורך מצמצם את החיפוש לרשימה של שדות ופונקציות שמכילים את מה שהקלדתם. אפשר להקליד את שם השדה כמו שהוא מופיע בדף 'ניתוחים', או להשתמש בשם LookML שלו אם אתם יודעים אותו.

כשבוחרים שדה מהרשימה, Looker מוסיף אותו לביטוי באמצעות שם LookML בצורה ${view_name.field_name}. כך מוודאים שלכל השדות יש שמות ייחודיים בביטוי.

הוספת סכומים כוללים

אם אתם יוצרים ביטוי שמבוסס על ניתוח שבו הצגתם סכומים כוללים, אתם יכולים לכלול בביטוי גם סכומים כוללים של עמודות ושל שורות. סכומי העמודות מופיעים בעורך עם המילה Total לפני איטרציית LookML של שם השדה. לדוגמה, אם יש שדה בשם Count,‏ Looker נותן לסכום הכולל של העמודה בשדה הזה את השם Count - Total.

שם ה-LookML של סכומים כוללים הוא מהצורה ${view_name.field_name:total}, כאשר :total מתווסף לסוף שם השדה.

בסכומים הכוללים של השורות, המילים Row Totals (סכומים כוללים של השורות) מופיעות לפני שם השדה בעורך. בשדה LookML name, הסיומת :row_total מתווספת לשם השדה, למשל ${view_name.field_name:row_total}.

הוספת אופרטורים

אם צריך, אפשר להוסיף לביטוי אופרטורים לוגיים כמו AND, OR ו-NOT. בדרך כלל, אופרטורים של AND מוערכים לפני אופרטורים של OR, אבל אפשר לשנות את ההתנהגות הזו באמצעות סוגריים. אפשר גם להשתמש באופרטורים להשוואה (כמו >, = ו-<=) ובאופרטורים מתמטיים (כמו + ו-*).

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

הוספת פונקציות

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

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

רשימה מלאה של הפונקציות מופיעה במאמר פונקציות ואופרטורים ב-Looker.

שימוש ברמזים לשגיאות ובחלונית המידע

חלונית מידע מוצגת ב-Looker לצד כלי העריכה של ביטויי Looker. בחלונית הזו מוצגים מסמכים והצעות, במיוחד אם יש שגיאה בביטוי.

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

  • הדגשת שגיאות: Looker מציג קו אדום מתחת לכל חלק בביטוי שעדיין לא נכון.

  • הצעות ופרטי שגיאות: Looker מציע הצעות לגבי מה להוסיף בהמשך לביטוי. אם יש שגיאה, מוסבר למה היא מתרחשת.

  • תיעוד: ב-Looker מוצג תיעוד לגבי הפונקציה או האופרטור שאתם עובדים איתם. לדוגמה, כשמקלידים את הארגומנט הראשון של פונקציית if, ‏ Looker מציין שהארגומנט הראשון צריך להיות yes או no. לוחצים על שם הפונקציה כדי לראות את התיעוד שלה.

כולל תגובות

אפשר לכלול הערות בביטויי Looker. כדי לעשות זאת, צריך להתחיל את שורת ההערה בסימן # בכלי לעריכת ביטויים.

שימוש בשדות

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

כמו שמתואר במאמר הוספת שדה, אפשר להקליד את שם השדה בכלי לעריכת ביטויים, ו-Looker יעזור לכם למצוא את פורמט ההפניה הנכון. כשמוסיפים שדה לביטוי, Looker משתמש במזהה LookML של השדה, כמו ${view_name.field_name}. מקלידים את שם השדה כפי שהוא מופיע בכלי לבחירת שדות, ועורך הביטויים מציג את השם של הכלי לבחירת שדות לצד מזהה LookML.

יש כמה דרכים לאחזר ערך:

  • קבלת ערך מאותה שורה: הדרך הבסיסית ביותר להשתמש בשדה היא להפנות אליו ישירות, כמו ${product.category}. ההפניה הזו היא לערך של השדה הזה בשורה הנוכחית.

  • קבלת ערך משורה אחרת: אפשר גם לאחזר ערך של שדה משורה אחרת. לדוגמה, כדי לקבל את קטגוריית המוצרים מהשורה הקודמת, משתמשים בפונקציית היסט כמו offset(${product.category}, -1). רשימה של פונקציות מיקום מופיעה במאמר פונקציות מיקום.

  • קבלת ערך מעמודה בטבלת צירים: כדי לקבל ערכים מעמודות בטבלת צירים, צריך להשתמש בפונקציות של טבלת צירים כמו pivot_index(${order.total_sales}, 1). רשימת פונקציות הציר מופיעה במאמר פונקציות ציר.

  • קבלת סכום כולל משורה או מעמודה: אם הצגתם סיכומים ב'ניתוח נתונים', תוכלו לקבל ערכים כוללים על ידי הוספת :total (לסיכומים של עמודות) או :row_total (לסיכומים של שורות) לשם השדה, בפורמט ${field_name:total}. לדוגמה: ${orders.count} / ${orders.count:total}.

שימוש באופרטורים

ביטויי Looker יכולים לכלול אופרטורים לוגיים, אופרטורים להשוואה ואופרטורים מתמטיים כדי ליצור תנאים שונים:

  • אופרטורים לוגיים (כמו AND,‏ OR ו-NOT)
  • אופרטורים להשוואה (למשל > ו-<)
  • אופרטורים מתמטיים (כמו + ו--)

אלא אם מציינים אחרת באמצעות סוגריים, הלוגיקה של AND מוערכת לפני הלוגיקה של OR. הביטוי הבא ללא סוגריים נוספים:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

הביטוי מוערך כך:

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

ב-Looker, משתמשים ב-yes וב-no במקום ב-true וב-false. הקבועים הלוגיים האלה לא זהים למחרוזות המילוליות "yes" ו-"no". מידע נוסף מופיע במאמר בנושא קבועים לוגיים.

שימוש בפונקציות

ביטויים ב-Looker כוללים לעיתים קרובות פונקציה אחת או יותר לאחזור או לחישוב נתונים. הן דומות לפונקציות של גיליונות אלקטרוניים.

הפונקציות מופיעות בצורה של שם ואחריו סוגריים, כמו my_function(). הערכים שמועברים בתוך הסוגריים הם ארגומנטים, כמו my_function(argument_1, argument_2).

לדוגמה, הפונקציה now לא מקבלת ארגומנטים ומחזירה את התאריך והשעה הנוכחיים: now().

הפונקציה round מקבלת ארגומנט מספרי אחד: round(3.2). התוצאה היא 3.

כדי לדעת אילו ארגומנטים צריך לספק:

נניח שיש לנו את הפונקציה contains

תפקיד תחביר מטרה
מכיל {:#function-contains} contains(string, search_string) הפונקציה מחזירה Yes אם string מכיל את search_string, ואחרת מחזירה No.

הפונקציה contains דורשת שני ארגומנטים: string ו-search_string. הארגומנט string מייצג את השדה או הטקסט שרוצים לחפש בו, והארגומנט search_string מייצג את המונח שרוצים לחפש:

contains(${customer.feedback_text}, "great")

אם המילה great מופיעה במשוב של הלקוח, הפונקציה מחזירה Yes. אחרת, הפונקציה מחזירה את הערך No.

אפשר להשתמש בפונקציות בתוך פונקציות אחרות:

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

הביטוי הזה מוערך בשלושה שלבים:

  1. הפונקציה is_null בודקת אם הטקסט של משוב הלקוחות ריק.
  2. הפונקציה if מחזירה את הטקסט של המשוב אם הוא קיים, אחרת היא מחזירה את הטקסט של התגובה.
  3. הפונקציה contains מחפשת את הטקסט שמוחזר 'great'.

מבחינה לוגית, המשמעות של הביטוי הזה היא: "אם יש משוב מלקוחות, צריך לחפש בטקסט הזה. אם לא, אפשר לחפש בתגובות של הלקוחות. בשני המקרים, צריך לחפש את המילה 'great'."