ניתוח תקופה לתקופה (PoP) הוא תבנית ניתוח שמודדת משהו בהווה ומשווה אותו למדידה זהה בתקופה מקבילה בעבר.
בניבים שתומכים במדדי שינוי באחוזים, מפתחי Looker יכולים להוסיף מדדי שינוי באחוזים לפרויקטים של LookML כדי להפעיל ניתוח של שינוי באחוזים בכלי הניתוחים המתאים של Looker.
לדוגמה, השאילתה הבאה ב-Looker Explore מציגה את מספר ההזמנות שנוצרו בחודש הנוכחי, יחד עם מדדי PoP למספר ההזמנות שנוצרו בשנה שעברה, ההפרש מהשנה שעברה והשינוי באחוזים מהשנה שעברה. כדי לוודא שההשוואה משנה לשנה נכונה, אפשר לבדוק את הערכים באופן אקראי. לדוגמה, הערך של הזמנות בשנה שעברה עבור 2012-03 זהה לערך של מספר ההזמנות עבור 2011-03:

כדי להוסיף מדד של שינוי באחוזים לפרויקט LookML, מפתח Looker צריך ליצור measure של type: period_over_period ולכלול את פרמטרי המשנה שמתוארים בקטע הבא בדף הזה.
לדוגמה, הנה קוד LookML למדד PoP שמספק את מספר ההזמנות בשנה הקודמת:
measure: order_count_last_year {
type: period_over_period
description: "Order count from the previous year"
based_on: orders.count
based_on_time: orders.created_year
period: year
kind: previous
}
למדד הזה של השוואה לתקופה הקודמת יש את המאפיינים הבאים:
- הוא מוגדר עם
based_on: orders.count, ולכן מדד ה-PoP יספק נתונים לגבי מספר ההזמנות מפרק הזמן הקודם. - ההגדרה שלו היא
kind: previous, כלומר הוא מספק את ערך הספירה מהתקופה הקודמת (בניגוד למתן הפרש במספר ההזמנות מהתקופה הקודמת, או אחוז השינוי במספר ההזמנות מהתקופה הקודמת). - התאריך מוגדר כ-
period: year, כך שיוצגו נתוני ספירת הזמנות מפרק זמן דומה בשנה הקודמת.
פרמטרים משניים של מדדי פופולריות
מדד PoP הוא measure של type: period_over_period שכולל את פרמטרי המשנה שמתוארים בקטעים הבאים:
כפי שמתואר בקטע ניתוח שאילתות באמצעות מדדי PoP, מדדי PoP מחשבים את הערכים שלהם על סמך הגדרת LookML של מדד ה-PoP והשדות בשאילתת ניתוח. לכן, כשיוצרים מדד של שינוי באחוזים ב-LookML, חשוב לפעול לפי השיטות המומלצות הבאות:
- כדאי לציין למשתמשי Explore את התקופה של מדד השינוי ביחס לתקופה הקודמת, בשם של מדד השינוי ביחס לתקופה הקודמת או בתת-פרמטר
descriptionשל המדד. - כדאי לציין למשתמשי Explore את
based_onהמדד של מדד ה-PoP, בשם של מדד ה-PoP או בתת-הפרמטרdescriptionשל המדד.
לדוגמה, מדד ה-PoP הבא נקרא order_count_last_year, ויש בו תיאור שמסביר למשתמשים שהמדד מספק את מספר ההזמנות מהשנה הקודמת:
measure: order_count_last_year {
type: period_over_period
description: "Order count from the previous year"
based_on: orders.count
based_on_time: orders.created_year
period: year
kind: previous
}
based_on
משתמשים בשדה based_on כדי לציין את מדד LookML שעליו מבוסס מדד ה-PoP. לדוגמה, כדי לבסס מדד של הסתברות לרכישה על השדה orders.count, מזינים את הערך הבא:
based_on: orders.count
מדד PoP שמבוסס על orders.count יספק מידע על מספר ההזמנות מתקופה קודמת, כדי שתוכלו להשוות בין מספר המכירות בתקופה הנוכחית לבין מספר המכירות בתקופה קודמת.
המדד LookML שאתם מציינים בשדה based on צריך להיות אחד מסוגי המדדים הבאים:
averageaverage_distinctcountcount_distinctlistmaxmedianmedian_distinctnumberminpercentilepercentile_distinctsumsum_distinct
based_on_time
משתמשים בתת-פרמטר based_on_time כדי לספק ל-Looker שדה זמן שבו הוא יכול להשתמש כדי לחשב את ערכי המדד של תקופת ההשוואה. השדה הזה יכול להיות אחד מהבאים:
- מאפיין מבוסס-זמן. אם מציינים מימד מבוסס-זמן בפרמטר המשנה
based_on_time, המשתמשים צריכים לכלול את אותו מימד מבוסס-זמן בכל השאילתות שמשתמשות במדד PoP. בנוסף, מסגרת הזמן של המאפיין שמבוסס על זמן צריכה להיות שווה לערךperiodשל מדד ה-PoP או קטנה ממנו. לדוגמה, אם מדד ה-PoP מוגדר עםbased_on_time: created_month, הערךperiodשל מדד ה-PoP לא יכול להיותweekאוdate. אחד מהטווחים הבאים של קבוצת מאפיינים של
type: time:yearfiscal_yearmonthfiscal_quarterquarterweekdateraw
אחד מהטווחים הבאים של קבוצת מאפיינים של
type: custom_calendarcustom_datecustom_periodcustom_quartercustom_seasoncustom_weekcustom_year
אם מציינים מסגרת זמן של קבוצת מאפיינים בתת-פרמטר based_on_time, מסגרת הזמן הספציפית שבה משתמשים לא רלוונטית – צריך רק להפנות את מדד השינוי באחוזים לקבוצת מאפיינים של type: time כדי שמדד השינוי באחוזים יוכל להשתמש בחותמת הזמן הבסיסית של קבוצת המאפיינים. אי אפשר לציין מסגרת זמן מקבוצת מאפיינים של type: duration. קבוצות מאפיינים מסוג משך לא נתמכות ויובילו לשגיאת זמן ריצה בכלי הניתוחים.
kind
משתמשים בפרמטר kind כדי לציין את סוג החישוב שרוצים שמדד השינוי באחוזים יבצע לתקופה הקודמת. אפשר לציין אחד מהערכים הבאים עבור kind:
-
previous: (ברירת מחדל) הערך מהתקופה הקודמת. difference: ההפרש בין התקופות (התקופה הקודמת פחות התקופה הנוכחית).
relative_change: אחוז השינוי מהתקופה הקודמת. השינוי באחוזים מחושב לפי המשוואה הבאה:$$ relativeChange = (current - previous)/previous $$
period
משתמשים בתת-פרמטר period כדי לציין את קצב הצעדים של מדד השינוי ביחס לתקופה הקודמת, כלומר כמה זמן אחורה רוצים להשוות. לדוגמה, מדד PoP שמוגדר עם period: year יציג את הערכים של השנה הקודמת. אם מריצים שאילתת חיפוש בנתונים של מספר ההזמנות החודשי, המדד period: year PoP יציג את הערכים של אותו חודש בשנה הקודמת, כדי שתוכלו להשוות את מספר ההזמנות בנובמבר 2025 למספר המכירות בנובמבר 2024.
תת-הפרמטר period תומך בערכים הבאים:
yearfiscal_yearquarterfiscal_quartermonthweekdate
custom_calendar_period
אם המדד של השינוי ביחס לתקופה הקודמת מבוסס על לוח שנה מותאם אישית (אם הפרמטר based_on_time של המדד של השינוי ביחס לתקופה הקודמת מציין מסגרת זמן של קבוצת מאפיינים type: custom_calendar), צריך להשתמש בפרמטר custom_calendar_period במקום בפרמטר period.
משתמשים בתת-פרמטר custom_calendar_period כדי לציין את קצב הצעדים של מדד השינוי ביחס לתקופה הקודמת, כלומר כמה זמן אחורה רוצים להשוות. לדוגמה, אם מדד של שינוי בהשוואה לתקופה הקודמת מוגדר עם custom_calendar_period: custom_year, יוצגו הערכים של השנה הקודמת (כפי שהוגדרו בלוח השנה המותאם אישית). אם מריצים שאילתה ב'ניתוח נתונים' על custom_monthly order count, המדד custom_calendar_period: custom_year PoP יציג את הערכים של אותו חודש בשנה הקודמת, כדי שתוכלו להשוות את מספר ההזמנות של החודש המותאם אישית בשנת 2026 למספר המכירות של אותו חודש מותאם אישית בשנת 2025.
תת-הפרמטר custom_calendar_period תומך בערכים הבאים:
custom_datecustom_periodcustom_quartercustom_seasoncustom_weekcustom_year
מידע נוסף על יצירת מדדי PoP שמשתמשים בלוח שנה מותאם אישית זמין בקטע שימוש במדדי PoP עם לוחות שנה מותאמים אישית.
value_to_date
משתמשים בתת-הפרמטר value_to_date כדי לציין אם Looker צריך לחשב את הערכים של מדד ה-PoP באמצעות כמות הזמן שחלפה במסגרת הזמן הנוכחית בזמן הפעלת השאילתה. הפרמטר המשני value_to_date יכול להיות no (ברירת מחדל) או yes.
- אם הערך הוא
no, המערכת תניח שצריך לצבור את הנתונים על פני כל חלון הזמן. - אם תזינו את הערך
yes, המערכת תחשב את משך הזמן שנצפה בתקופה הנוכחית ותחיל אותו על מדד ה-PoP.
לדוגמה, אם מריצים שאילתת חיפוש עם מדד של שינוי באחוזים בהשוואה לתקופה הקודמת שהוגדר עם value_to_date: yes בשעה 13:10:00 ב-6 ביוני, Looker יחיל את משך הזמן שחלף ב-6 ביוני (13 שעות, 10 דקות ו-0 שניות) על החישובים של כל התאריכים בשאילתה. לכל תאריך, Looker יספק את הערכים של 13 השעות ו-10 הדקות הראשונות.
אם הגדרתם את אותו מדד של השוואה לתקופה הקודמת עם value_to_date: no והפעלתם את אותה שאילתת ניתוח ב-6 ביוני בשעה 13:10:00, מערכת Looker תחשב את הערך של ההשוואה לתקופה הקודמת באמצעות כל הנתונים שזמינים לכל תאריך. אם אתם מנסים להשוות בין ערכים מ-6 ביוני לבין ה-6 בחודש הקודם, חשוב לזכור ש-6 ביוני עוד לא הסתיים, ולכן יכול להיות שיהיו נתונים נוספים אחרי השעה 13:10:00.
במאמר איך value_to_date משפיע על ערכי המדדים של PoP מופיעה דוגמה לאופן שבו value_to_date: yes משפיע על התוצאות בשאילתת ניתוח.
כמו שמתואר בקטע דרישות לשאילתות ב-Explore עם מדדי PoP, כשמריצים שאילתת Explore עם מדד PoP, Looker מחיל באופן אוטומטי את רמת הפירוט המינימלית של מסגרת הזמן מהשאילתה על מסגרת הזמן שמשמשת את מדד PoP. בשביל שאילתות ב-Explore עם מדד PoP שמוגדר באמצעות value_to_date: yes, Looker לוקח את מאפיין מסגרת הזמן הקטן ביותר בשאילתה ומחשב את החלק ממסגרת הזמן הזו שעבר כשהשאילתה מופעלת, ואז מחיל את החלק הזה על כל הערכים של מדד PoP.
ניתוח שאילתות באמצעות מדדי PoP
החישוב שמתבצע למדד PoP מבוסס על הגדרת ה-LookML של מדד ה-PoP וגם על מסגרות הזמן שצוינו בשאילתת הניתוח עצמה. מדד ה-PoP מתאים את החישוב שלו למסגרות הזמן שנבחרו בשאילתת הניתוח. לדוגמה, אם מדד השינוי באחוזים מוגדר עם period: year, והשאילתה ב'ניתוח נתונים' מכילה את מאפיין טווח הזמן orders.created_month, מדד השינוי באחוזים יחשב ערכים חודשיים, וישווה בין ינואר 2025 לינואר 2024. אם רוצים לראות את הערכים השנתיים, צריך להריץ שאילתה ב'ניתוח נתונים' עם המדד PoP ורק עם מסגרת הזמן orders.created_year.
הנה כמה דוגמאות שממחישות איך מדד PoP period מתקשר עם מסגרות הזמן שנבחרו בשאילתת ניתוח:
- אם מדד השוואה לתקופה הקודמת מוגדר עם
period: year, ואתם מריצים שאילתה ב-Explore עם מסגרת זמן של רבעון, מדד ההשוואה לתקופה הקודמת יחזיר ערכים מאותו רבעון בשנה הקודמת (רבעון 1 של 2025 בהשוואה לרבעון 1 של 2024). - אם מדד של השוואה לתקופה מקבילה מוגדר עם
period: year, ואתם מריצים שאילתת ניתוח עם מסגרת זמן של חודש, המדד של ההשוואה לתקופה מקבילה יחזיר ערכים מאותו חודש בשנה הקודמת (אפריל 2025 בהשוואה לאפריל 2024). - אם מדד PoP מוגדר עם
period: month, ומריצים שאילתת ניתוח עם מסגרת זמן של חודש, מדד PoP יחזיר ערכים לחודש הקודם (אפריל 2025 בהשוואה למרץ 2025).
דרישות לשאילתות ב-Explore עם מדדי PoP
מכיוון שחישוב של מדד PoP מתבסס גם על הגדרת ה-LookML של מדד ה-PoP וגם על השדות שבוחרים בשאילתת הניתוח, צריך לכלול בשאילתת ניתוח עם מדד PoP לפחות את השדות הבאים:
- מדד ה-PoP.
- מאפיין זמן שמתאים ל
periodשמשויך למדד הסבירות להשלמת המרה. אפשר לכלול את מאפיין הזמן בשאילתה דרך הכלי לבחירת שדות ב-Explore או דרך המסננים ב-Explore:- שאילתות של מדדי השוואה לתקופה קודמת תומכות ברמות פירוט של מסגרת זמן של תאריך או יותר, כמו חודש, רבעון או שנה. שאילתות של מדדי שינוי לא תומכות במאפיינים עם מסגרות זמן של שעות או דקות.
- אם מדד השינוי באחוזים מוגדר עם
based_on_timeשהוא מסגרת זמן של קבוצת מאפיינים, שאילתת הניתוח חייבת לכלול מסגרת זמן מאותה קבוצת מאפיינים, שמשתמשת במסגרת זמן ששווה למסגרת הזמן שצוינה בפרמטרperiodשל מדד השינוי באחוזים או קטנה ממנה. אפשר לכלול את קבוצת המאפיינים בניתוח עצמו (על ידי בחירה בקבוצת המאפיינים בכלי לבחירת שדות בניתוח) או על ידי סינון לפי קבוצת המאפיינים. לדוגמה, אם הערךbased_on_timeשל מדד ה-PoP מוגדר עם טווח זמן מקבוצת המאפייניםorders.created, ומדד ה-PoP מוגדר עםperiod: month, שאילתת הניתוח ב-Explore צריכה לכלול טווח זמן מקבוצת המאפייניםorders.createdששווה לחודש או קטן ממנו, כמוorders.created_date. מסגרת הזמן בשאילתת הניתוח צריכה להיות זהה או קצרה יותר, כי למשל אי אפשר להשוות בין חודש לחודש במסגרת זמן של שנה. - אם מדד ה-PoP מוגדר עם
based_on_timeשהוא מאפיין שמבוסס על זמן, שאילתת הניתוח חייבת לכלול את אותו מאפיין שמבוסס על זמן, או על ידי הכללת המאפיין בכלי לבחירת שדות בניתוח, או על ידי הגדרת מסנן למאפיין. הפרק הזמן של המאפיין שמבוסס על זמן צריך להיות שווה לפרק הזמן שצוין בפרמטרperiodשל מדד ה-PoP או קטן ממנו. לדוגמה, אם מדד ה-PoP מוגדר עםbased_on_time: created_dateומדד ה-PoP מוגדר עםperiod: month, שאילתת הניתוח צריכה לכלול את המאפייןcreated_date.
אם מדד ה-PoP מוגדר עם based_on_time שהוא מסגרת זמן של קבוצת מאפיינים, חשוב לשים לב לדרישות הבאות לגבי מסגרת הזמן בשאילתת הניתוח:
- מסגרת הזמן בשאילתת הניתוח צריכה להיות שווה למסגרת הזמן שצוינה בפרמטר
periodשל מדד ה-PoP או קטנה ממנה. לדוגמה, אם המדד של השינוי באחוזים מוגדר עםbased_on_timeשל טווח זמן מקבוצת המאפייניםorders.created, והמדד של השינוי באחוזים מוגדר עםperiod: month, השאילתה ב-Explore צריכה לכלול טווח זמן מקבוצת המאפייניםorders.createdששווה לחודש או קטן ממנו, כמוorders.created_date. מסגרת הזמן בשאילתת הניתוח צריכה להיות קצרה יותר, כי למשל אי אפשר להשוות בין חודש לחודש במסגרת זמן של שנה. - מסגרת הזמן בשאילתת הניתוח חייבת להכיל בעצמה מידע על חותמת זמן. לדוגמה, מסגרות הזמן
year,monthו-dateשל קבוצת מאפיינים מספקות מידע על חותמות זמן בפועל. לעומת זאת, מסגרת הזמןday_of_weekמופשטת מחותמת הזמן הבסיסית כדי לספק ערך כמוWednesday. באופן דומה, מסגרות זמן כמוmonth_name,month_numו-day_of_monthלא מספקות מידע על חותמות זמן, ולכן אי אפשר להשתמש בהן במדדי PoP כדי לחשב ערכים לתקופה הקודמת. עם זאת, אם כוללים בשאילתת הניתוח פרמטר של חותמת זמן כמוdate, המדד 'נקודת נוכחות' יקבל מידע על חותמת הזמן שיוכל לשמש לחישוב הערכים של התקופה הקודמת. אפשר גם לכלול את מסגרת הזמןday_of_weekבשאילתת הניתוח, כי מדד השינוי באחוזים יכול להשתמש במידע על מסגרת הזמןdateלחישובים.
אם אתם עומדים בדרישות האלה בשאילתת הניתוח, אתם יכולים להוסיף לשאילתת הניתוח שדות אחרים ומאפייני מסגרת זמן, אבל כל מסגרות הזמן בשאילתת הניתוח צריכות להיות שוות למסגרת הזמן של מדד PoPperiod או קטנות ממנה. כשמריצים שאילתת ניתוח עם מדד PoP, Looker מחילה באופן אוטומטי את רמת הפירוט המינימלית של מסגרת הזמן מהשאילתה על מסגרת הזמן שמשמשת את מדד PoP. בדוגמה של Explore שמוצגת בתחילת הדף הזה, כל המדדים של PoP הוגדרו ב-LookML באמצעות period: year. כלומר, לא משנה איזה פרק זמן נבחר בשאילתת הניתוח – במקרה הזה, פרק זמן חודשי – מדד ה-PoP יחזיר את התוצאות לגבי אותו פרק זמן בשנה הקודמת.
אם רוצים לראות אילו טווחי זמן נתמכים במדד PoP בניתוח, אפשר לבדוק טווחי זמן שונים בלי להריץ שאילתות. לוחצים על הכרטיסייה SQL בקטע נתונים של הניתוח, ואז מוסיפים שדות ומסננים מבורר השדות של הניתוח. אם מדד ה-PoP לא יכול לחשב את השאילתה עם השדות והמסננים שבחרתם, בכרטיסייה SQL תוצג הודעה שלא ניתן ליצור את ה-SQL.

אם תריצו שאילתה שלא ניתן ליצור עבורה SQL, בחלון 'ניתוח' תוצג שגיאה עם הפרטים וקישור ל-LookML הרלוונטי.

שימוש במדדים של תקופה לתקופה עם לוחות שנה מותאמים אישית
כדי ליצור מדד של השוואה לתקופה הקודמת שמשתמש בלוח שנה מותאם אישית, צריך לבצע את הפעולות הבאות:
- בקובץ התצוגה שבו אתם יוצרים את המודל של היומן המותאם אישית, אפשר לכלול בלוק פרמטרים
previous_ordinal_mappingבתוך בלוק הפרמטריםcalendar_definition. הפרמטרprevious_ordinal_mappingהוא אופציונלי החל מ-Looker 26.8. ב-Looker 26.8 ואילך, במקרים של לוחות שנה בהתאמה אישית, המערכת מניחה שהשבוע הקודם לשבוע 1 הוא שבוע 52, והיום הקודם ליום 1 הוא יום 364. אם זה לא המקרה ביומן המותאם אישית שלכם, אתם צריכים להשתמש בבלוק הפרמטריםprevious_ordinal_mapping. - בהגדרת LookML של מדד הגידול באחוזים, בפרמטר
based_on_time, מציינים את מסגרת הזמן של השנה של קבוצת מאפיינים שלtype: custom_calendar - בהגדרת ה-LookML של מדד השינוי באחוזים, משתמשים בפרמטר
custom_calendar_periodבמקום בפרמטרperiod.
לדוגמה, הנה קוד LookML של קבוצת מאפיינים של לוח שנה בהתאמה אישית ומדד PoP שמשתמש בלוח השנה בהתאמה אישית:
dimension_group: cust_created {
type: custom_calendar
sql: {TABLE}.created_at;;
based_on_calendar: cust_retail_calendar
custom_timeframes: [custom_year, custom_quarter]
}
measure: count_last_custom_year {
type: period_over_period
based_on: count
based_on_time: cust_created_custom_year
custom_calendar_period: custom_year
kind: previous
}
דוגמאות
בקטעים הבאים מוצגות כמה דוגמאות למדדים שונים של PoP ולשאילתות ב'ניתוח נתונים':
- השוואה בין ספירות לבין מדדי PoP בהשוואה לשנה הקודמת ולחודש הקודם
- איך
value_to_dateמשפיע על ערכי המדד 'תוצאה יחסית בהשוואה לתקופה הקודמת'
השוואה בין ספירות לבין מדדי פופולריות בהשוואה לשנה הקודמת ולחודש הקודם
הנה קוד LookML לדוגמה של total_births מדד, birth קבוצת מאפיינים של type:time ושני מדדי PoP שמבוססים על ה-מדד total_births ומשתמשים ב-קבוצת מאפיינים birth כשדה based_on_time שלהם:
dimension_group: birth {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.birth_date ;;
}
measure: total_births {
type: sum
sql: ${TABLE}.total_births ;;
}
measure: total_births_last_year {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: year
value_to_date: no
value_format_name: decimal_0
}
measure: total_births_last_month {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: month
value_to_date: no
value_format_name: decimal_0
}
חשוב לזכור את הנקודות הבאות לגבי השדות האלה:
- שני המדדים של PoP מוגדרים עם
kind: previous, ולכן שניהם מספקים את הערך של המדד מהתקופה הקודמת. - שני מדדי ה-PoP מוגדרים עם
value_to_date: no, ולכן שניהם מחשבים את ערך המדד לכל מסגרת הזמן (כלומר, רמת הפירוט המינימלית של מסגרת הזמן מהשאילתה). - שני מדדי ה-PoP מוגדרים באמצעות
based_on_time: birth_year, ולכן שניהם משתמשים בחותמת הזמן הבסיסית של קבוצת המאפייניםbirth. - המדד
total_births_last_yearPoP מוגדר באמצעותperiod: year, והמדדtotal_births_last_monthPoP מוגדר באמצעותperiod: month.
זוהי שאילתת ניתוח שכוללת את שלושת המדדים ואת מסגרת הזמן של מאפיין birth_month:

חשוב לדעת את הפרטים הבאים על תוצאות החיפוש:
- המסגרת הקטנה ביותר של זמן במאפיין בשאילתת Explore היא
birth_month, ולכן המדד PoP מספק ערכים חודשיים. - בשורה של החודש האחרון, 2024-07, הערך של Total Births Last Month (מספר הלידות הכולל בחודש שעבר) מציג את מספר הלידות הכולל בחודש הקודם, 2024-06. כדי לבדוק את זה, אפשר להסתכל על הערך של Total Births בשורה 2024-06. שני הערכים זהים.
- בשורה של החודש האחרון, 2024-07, הערך של Total Births Last Year (מספר הלידות הכולל בשנה שעברה) מייצג את מספר הלידות הכולל באותו חודש (07) בשנה הקודמת (2023). כדי לבדוק את זה, אפשר להסתכל על הערך של Total Births בשורה 2023-07. שני הערכים זהים.
איך value_to_date משפיע על ערכי המדד של שיעור ההמרה
בדומה לדוגמה הקודמת, הנה קוד LookML למדד total_births ולקבוצת המאפיינים birth של type:time, ושני מדדי PoP שמבוססים על המדד total_births ומשתמשים בקבוצת המאפיינים birth כשדה based_on_time שלהם. עם זאת, בדוגמה הזו, מדד ה-PoP total_births_last_year_value_to_date מוגדר עם value_to_date: yes ומדד ה-PoP total_births_last_year מוגדר עם value_to_date: no:
dimension_group: birth {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.birth_date ;;
}
measure: total_births {
type: sum
sql: ${TABLE}.total_births ;;
}
measure: total_births_last_year {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: year
value_to_date: no
value_format_name: decimal_0
}
measure: total_births_last_year_value_to_date {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
value_to_date: yes
period: year
value_format_name: decimal_0
}
זוהי שאילתת ניתוח שכוללת את שלושת המדדים ואת המאפיין birth_year מסגרת זמן. שאילתת הניתוח הזו הופעלה ב-4 ביוני בשעה 16:25:08, וזה חשוב למדד value_to_date: yes PoP.

בתוצאות של התכונה 'ניתוח נתונים מתקדם' אפשר לראות איך פרמטר המשנה value_to_date משנה את החישוב של מדדי ה-PoP:
חשוב לדעת את הפרטים הבאים על תוצאות החיפוש:
- בשורה של השנה האחרונה, 2024, הערך של Total Births Last Year (מספר הלידות הכולל בשנה שעברה) מייצג את מספר הלידות הכולל בשנה הקודמת, 2023. כדי לאמת את החישוב, אפשר לעיין בערך Total Births בשורה 2023. שני הערכים זהים.
- בשורה של השנה האחרונה, 2024, הערך של Total Births Last Year Value to Date נמוך מהערך של Total Births Last Year. הסיבה לכך היא שהשאילתה ב-Explore הופעלה ב-4 ביוני בשעה 16:25:08, ומכיוון שהמדד
total_births_last_year_value_to_datePoP מוגדר עםvalue_to_date: yes, Looker חישב את הערכים השנתיים באמצעות הנתונים עד 4 ביוני בשעה 16:25:08 בכל שנה.
סינון שאילתות ב'ניתוח נתונים' שכוללות מדדים של הסתברות לרכישה
הערות לגבי סינון שאילתות ב-Explore שכוללות מדדים של PoP:
- אפשר לסנן שאילתות ב-Explore שכוללות מדדים של הסתברות לרכישה. עם זאת, אי אפשר לסנן לפי מדד PoP עצמו. לדוגמה, בדוגמה הראשונה של שאילתת Explore שמתבצעת על המאפיין
birth_monthועל מדדי השינוי באחוזיםtotal_births,total_births_last_yearו-total_births_last_month, אי אפשר לסנן את השאילתה הזו לפי מדדי השינוי באחוזיםtotal_births,total_births_last_yearאוtotal_births_last_month. - כשמסננים לפי שדה שמשויך לפרמטר
based_on_timeשל מדד PoP, אם מסגרת הזמן של המסנן מדויקת יותר ממסגרת הזמן של השאילתה, מדד ה-PoP יציג רק את התוצאות של חלק ערך המסנן במסגרת הזמן של השאילתה. לדוגמה, אם מבצעים שאילתה על המאפייןorders.created_yearומסננים את השאילתה לפי חודש ינואר, מדד ה-PoP יציג לכל שנה את הערכים של חודש ינואר בלבד. יכול להיות שתחשבו שזו התוצאה של השנה כולה. - כדי לחשב נתונים למדד PoP בשאילתות של ניתוח נתונים למדד PoP, Looker מאחזר נתונים לתקופת זמן נוספת ברמת הפירוט הכי נמוכה של תקופת הזמן בשאילתה. לדוגמה, אם יוצרים שאילתה ב-Explore עם מאפיין חודשי, מדד של שינוי באחוזים שהוגדר עם
period: yearומסנן ל-6 החודשים האחרונים, Looker יזהה את רמת הפירוט הכי גסה בשאילתה, שבמקרה הזה תהיה תקופת הזמן של מדד השינוי באחוזיםyear. בדוגמה הזו, Looker יאחזר את הנתונים של 6 החודשים האחרונים בתוספת נתונים של שנה נוספת, כדי שיוכל להשוות בין כל אחד מ-6 החודשים האחרונים לבין אותו חודש בשנה הקודמת. - כפי שמתואר במאמר דרישות לשאילתות ב-Explore עם מדדי PoP, שאילתות ב-Explore שכוללות מדדי PoP צריכות לכלול מאפיין זמן שמתאים ל-
periodשמשויך למדד ה-PoP. אם לא בוחרים מאפיין זמן בכלי לבחירת שדות של הניתוח, Looker יכול להסיק את המידע הנדרש ממאפייני זמן במסננים של הניתוח. במקרה כזה, Looker ימיין את תוצאות השאילתה ב-Explore לפי מאפיין הזמן של המסנן.
המחשות עם מדדים של PoP
מומלץ להשתמש בטבלה להמחשה למדדי PoP. יכול להיות שאפשרויות אחרות של תצוגה חזותית יתאימו גם הן, בהתאם לשדות בשאילתת הניתוח.
אם משתמשים בהצגה חזותית שאינה תרשים טבלה, צריך לוודא שההצגה החזותית ברורה. מכיוון שמדדי השינוי לעומת התקופה הקודמת מספקים השוואות לתקופה קודמת, יכול להיות שההמחשות עם מדדי השינוי לעומת התקופה הקודמת מטעות. לדוגמה, מדד PoP של שנה לשנה שמוגדר כ-kind: previous יציג את הערך של השנה שעברה לתאריך של השנה הנוכחית. אם השאילתה ב-Explore כוללת את הערך של השנה הנוכחית יחד עם מדד השינוי בהשוואה לשנה הקודמת, יהיו שני ערכים בתצוגה החזותית של השנה הנוכחית.
אם אתם משתמשים בהדמיה אחרת מלבד תרשים טבלה, אתם צריכים לוודא שההדמיה מציינת בבירור שכל המדדים של תקופת ההשוואה הם השוואה לתקופה קודמת.
מגבלות על מדדים של נקודות השוואה
חשוב לשים לב למגבלות הבאות של מדדי PoP:
- אפשר להשתמש במדדי שינוי באחוזים רק בפרויקטים של LookML שמשתמשים בזמן הריצה החדש של LookML. אם התכונה מדור קודם Use Legacy LookML Runtime מופעלת במופע שלכם, קובץ המניפסט של הפרויקט צריך לכלול הצהרה
new_lookml_runtime:yes. - אין תמיכה במדדי PoP במחבר Looker ב-Data Studio.
- המדדים של נקודת המכירה צריכים להתבסס על מדד מצטבר, כמו שמתואר בקטע
based_on. אי אפשר לבסס מידת שינוי על מידה לא מצטברת. - בחיבורים ל-BigQuery במופעים שבהם מופעלת תכונת ה-Labs BI Engine Symmetric Aggregates, יש תמיכה במדדי PoP, אבל שאילתות SQL עם מדדי PoP לא ישתמשו בתכונה BI Engine Symmetric Aggregates.
- מדדי PoP לא תומכים בניתוח קבוצות משתמשים.
- מדדי PoP לא תומכים בחישובים מצטברים.
- המדד 'נקודת השוואה' תמיד משווה בין התקופה הנוכחית לתקופה הקודמת. אי אפשר להגדיר מדד של שינוי בהשוואה לתקופה הקודמת כדי להשוות את התקופה הנוכחית לתקופה אחרת מלבד התקופה הקודמת. לדוגמה, אי אפשר ליצור מדד PoP כדי להשוות בין נתוני חודש מאי בשנה שעברה לבין נתוני חודש דצמבר השנה.
- אין תמיכה במדדי השוואה לתקופה הקודמת עם מרווחי זמן שרירותיים, כמו השוואה בין השבועיים הנוכחיים לשבועיים הקודמים.
- פרמטרים של Liquid לא נתמכים בפרמטרים של מדד PoP. עם זאת, אם השדות
based_onאוbased_on_timeשל נקודת מדידה של PoP מצביעים על מאפיין שמוגדר באמצעות Liquid, ה-Liquid הזה יעבור עיבוד. למדדים של תקופות השוואה שמשתמשים בלוחות שנה מותאמים אישית:
- (לפני Looker 26.8) הפרמטר
based_on_timeחייב להפנות לטווח הזמןcustom_yearשל קבוצת מאפיינים מסוגtype: custom_calendar. - (לפני Looker 26.8) למדדי PoP שמוגדרים באמצעות
custom_calendar_period: custom_year, אם שאילתת המשתמש מכילהcustom_weekאוcustom_date, Looker יספק את הערך של השבוע הקודם או התאריך של השנה הקודמת.
- (לפני Looker 26.8) הפרמטר
אין תמיכה במדדי PoP בתכונות הבאות של Looker:
אי אפשר להשתמש במדדי PoP כדי ליצור שדה בהתאמה אישית.
להשוואות שמבוססות על שבוע, מומלץ ליצור מדד של שינוי בהשוואה לתקופה הקודמת שמבוסס על יומן מותאם אישית.
אי אפשר להשתמש במדידות של תקופות השוואה עם תקופות זמן שמוגדרות עם מסגרות זמן פיסקאליות בשאילתות ב'ניתוח נתונים' עם מסגרות זמן לא פיסקאליות. בנוסף, אי אפשר להשתמש במדדי PoP עם תקופות שמוגדרות עם מסגרות זמן לא פיסקליות בשאילתות עם מאפייני מסגרת זמן פיסקלית.
מדדי PoP תומכים בהזזה של חודש פיסקאלי, כלומר הפרמטר
based_on_timeשל מדד PoP יקבל בירושה את הערךfiscal_month_offsetמקובץ מודל LookML שמשויך לניתוח הנתונים. אם מגדירים מדד של שינוי באחוזים עםfiscal_yearאוfiscal_quarter, המדד הזה ייתמך בשאילתה בכלי הניתוחים רק אם השאילתה מציינת מסגרת זמן שלfiscal_yearאוfiscal_quarter. במקרה כזה, שובר הפרסוםfiscal_offset_monthיכובד.הערך של
periodבמדד של ה-PoP חייב להיות שווה לפרק הזמן שנבחר בשאילתת הניתוח או גדול ממנו. לדוגמה, אם מדד ה-PoP מוגדר עםperiod: month, שאילתת הניתוח חייבת לכלול מאפיין של מסגרת זמן של חודש או פחות, כמו שבוע או יום.כשמשתמשים במדדים של השוואה לתקופה הקודמת, תמיד צריך לכלול בניתוח את מאפיין התקופה התואמת לצד מאפיין
date_time. לדוגמה, אם מגדירים מדד של השוואה לתקופה המקבילה בשנה שעברה כדי לחשב ערכים לחודש התואם ברבעון הקודם, צריך לכלול בניתוח את מאפיין הרבעון התואם (כמו[dimension_name]_quarter) לצד מאפיין החודש. בלי מאפיין של מסגרת זמן תואמת, ה-SQL שנוצר מחיל פונקציית חיתוך (כמוTIMESTAMP_TRUNC(..., QUARTER)) על התאריך לפני החישוב של התקופה הקודמת, ולכן השאילתה מחושבת על סמך תחילת הרבעון.לדוגמה, בהשוואה לחודש פברואר, קוד ה-SQL שנוצר יאחזר את הערך של החודש הראשון ברבעון הקודם (אוקטובר) במקום את הערך של החודש התואם (נובמבר). הכללת מאפיין מסגרת הזמן התואמת ב-Explore מבטיחה יצירה וקיבוץ נכונים של SQL.
ניבים נתמכים של מסדי נתונים למדדי PoP
בטבלה הבאה מפורטות הניבים שתומכים במדדי PoP בגרסה האחרונה של Looker:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| ClickHouse 26+ | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Dremio 26+ with Arrow Flight SQL | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |