בדף הזה מוסבר על הפרמטר
extendsשהוא חלק מכלי הניתוחים.אפשר להשתמש ב-
extendsגם כחלק מתצוגה, כמו שמתואר בדף התיעוד של הפרמטרextends(לתצוגות).אפשר להשתמש ב-
extendsגם כחלק ממרכז שליטה של LookML, כמו שמתואר בדף התיעוד בנושא פרמטרים של לוחות בקרה.
Usage
explore: explore_name {
extends: [explore_name, explore_name, ...]
}
|
היררכיה
extends |
ערך ברירת המחדל
ללא
מקבל
סוגריים מרובעים שמכילים רשימה מופרדת בפסיקים של שמות של ניתוחים ב-Explore
|
הגדרה
הפרמטר extends מאפשר לכם להסתמך על התוכן וההגדרות של ניתוח אחר ב-Explore, ולהשתמש בניתוח הזה כנקודת התחלה. אם יש התנגשויות, ה-Explore המורחב ישתמש בהגדרות שלו ויבטל את ההגדרות של ה-Explore שמורחב. במאמר בנושא שימוש חוזר בקוד עם extends מוסבר איך Looker עושה את זה.
מידע נוסף על שיפורים ב-LookML
הארכה של תצוגה או של ניתוח ב-Explore מתאימה לתרחישים שבהם רוצים ליצור כמה גרסאות של התצוגה או של הניתוח ב-Explore. אבל אם המטרה שלכם היא פשוט לשנות תצוגה או ניתוח ב-Explore בלי לערוך את קובץ ה-LookML שמכיל אותם, כדאי להשתמש במקום זאת בשיפור. אפשר גם להשתמש בפרמטרextendsבתוך מסנן. מידע נוסף ותרחישי שימוש מופיעים בדף התיעוד בנושא שיפורים ב-LookML.
כשמרחיבים ניתוח, חשוב שהפרמטר view_name יהיה בניתוח שרוצים להרחיב. הפרמטר view_name מגדיר את התצוגה שעליה מבוסס הניתוח. ערך ברירת המחדל הוא השם של הניתוח. אם לא מצוין view_name באפשרויות הנוספות הבסיסיות, ברירת המחדל היא השם של האפשרויות הנוספות. אבל זה לא עובד לגבי ניתוחים אחרים שמרחיבים את הניתוח הבסיסי, ולכן נקבל את השגיאה 'תצוגה לא ידועה'. כדי ש-Looker ישתמש בקובץ התצוגה הנכון, צריך לציין אותו באמצעות הפרמטר view_name. מכיוון שהמדד הזה יידרש בכל גרסה מורחבת של הניתוח, מומלץ להוסיף אותו לניתוח הבסיסי כדי שתהיה אליו הפניה בכל פעם שהניתוח מורחב.
אם ב-Explore הבסיסי שלכם עדיין אין פרמטר view_name, אתם יכולים פשוט להוסיף את הפרמטר view_name ולציין את אותו ערך כמו השם של ה-Explore.
אולי תרצו להשתמש גם בפרמטר view_label בדוחות הבסיסיים ובדוחות המורחבים שלכם. הפרמטר view_label קובע את התווית שלפיה השדות בתצוגה המפורטת מקובצים בכלי לבחירת שדות (דוגמה מופיעה בדף התיעוד של הפרמטר view_label (לניתוחים)). אם לא מציינים view_label עבור ניתוחי הנתונים הבסיסיים והמורחבים, שניהם ישתמשו בשם של ניתוח הנתונים הבסיסי מניתוח הנתונים הבסיסי.
דוגמה
דוגמה לניתוח ב-Explore שמוגדר בקובץ המודל:
explore: orders {
view_name: orders
view_label: "Orders"
# The normal contents of the Explore follow
}
כאן אנחנו מוסיפים התנסות חדשה שמרחיבה את orders ההתנסות שהגדרנו קודם:
explore: name_of_the_new_explore {
extends: [orders]
view_label: "Order Information"
# The additional things you want to add or change
# in the new Explore
}
אם אתם מרחיבים Explore שמבוסס על תצוגה מורחבת, תצטרכו להשתמש גם בפרמטר from. מוסיפים from ל-extending Explore ומקצים לו את השם של התצוגה המוארכת.
explore: new_explore {
extends: [orders]
from: extended_orders_view
#The normal contents of the Explore follow
}
שימוש ב-extends כדי להגביל שדות למשתמשים שונים
תרחיש שימושי מאוד לשימוש בהרחבה של ניתוח הוא הצגה של קבוצת משנה של השדות של הניתוח למשתמשים מסוימים בלבד. לדוגמה, נניח שיש לכם products Explore עם כל השדות הזמינים מהטבלאות המצורפות:
explore: products {
view_name: products
from: products
join: inventory_items {
type: left_outer
sql_on: ${products.id}=${inventory_items.product_id} ;;
relationship: many_to_one
}
join: order_items {
type: left_outer
sql_on: ${order_items.inventory_item_id}=${inventory_items.id} ;;
relationship: one_to_one
}
}
אם יש לכם צוות שצריך לראות רק את קטגוריית המוצרים ואת נתוני ההחזרות, אתם יכולים להשתמש בפרמטר products Explore and use the fields כדי לציין שרק השדות של קטגוריית המוצרים וההחזרות ייכללו:
explore: products_extended {
extends: [products]
fields: [products.category,order_items.returned_date]
}
בקטע products_extended ניתוח יוצגו רק שני השדות האלה: products.category ו-order_items.returned_date.
הרחבת ניתוח ב-Explore על פני מודלים
בדרך כלל, הגדרות של תחקורים מוגדרות בקובץ מודל. אם רוצים להרחיב ניתוח, אפשר פשוט להגדיר את הניתוח המורחב באותו קובץ מודל, כמו בדוגמאות הקודמות.
עם זאת, אם רוצים להרחיב את ה-Explore לכמה מודלים, צריך ליצור קובץ Explore נפרד לשימוש כקובץ בסיס. אחרי שמגדירים את ה-Explore הבסיסי בקובץ משלו, אפשר לכלול את קובץ ה-Explore בקובץ המודל ולהרחיב את ה-Explore בקובץ המודל.
מכיוון שאפשר לכלול קובץ Explore בקובץ Explore אחר, אפשר גם לשתף את קובץ הבסיס של Explore בכמה קבצים אחרים של Explore, אם צריך.
התכונה 'עיון בקבצים' תאזין לחיבור של המודל שבו היא כלולה. חשוב לזכור את זה כשכוללים קובצי Explore במודלים שהוגדרו עם חיבור ששונה ממודל האב של קובץ ה-Explore. אם הסכימה של החיבור של המודל הכלול שונה מהסכימה של החיבור של מודל האב, יכולות להתרחש שגיאות בשאילתות.
שימוש במטא-נתונים כדי לראות הרחבות של אובייקט
אפשר ללחוץ על פרמטר explore או view ב-Looker IDE ולהשתמש בחלונית המטא-נתונים כדי לראות אילו תוספים יש לאובייקט, או כדי לראות איזה אובייקט הוא מרחיב. מידע נוסף זמין בדף התיעוד בנושא מטא-נתונים של אובייקטים ב-LookML.
דברים שכדאי לקחת בחשבון
חלק מהפרמטרים הם מצטברים
במקרים רבים, אם האובייקט המרחיב מכיל את אותו פרמטר כמו האובייקט המורחב, הערכים של האובייקט המרחיב יחליפו את ערכי הפרמטר של האובייקט המורחב. אבל התוספים יכולים להיות מצטברים עבור חלק מהפרמטרים, כלומר הערכים מהאובייקט המרחיב משמשים בשילוב עם הערכים מהאובייקט המורחב.
הפרמטרים הבאים בכלי הניתוחים הם תוספתיים:
access_filteraggregate_tableextends(אפשר לשרשר כמהextends)joinquery
בדוגמה הבאה, הפונקציה aircraft_base Explore משתמשת בפרמטר join כדי לצרף את התצוגה aircraft לתצוגה aircraft_types:
explore: aircraft_base {
view_name: aircraft
label: "Aircraft"
join: aircraft_types {
type: left_outer
sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
relationship: many_to_one
}
}
והאפשרות aircraft_extended הצגה כניתוח מרחיבה את האפשרות aircraft_base הצגה כניתוח. בנוסף, ב-aircraft_extended Explore יש פרמטר join שמצטרף לתצוגה aircraft_engine_types:
explore: aircraft_extended {
extends: [aircraft_base]
label: "Aircraft Extended"
join: aircraft_engine_types {
type: left_outer
sql_on: ${aircraft.aircraft_engine_type_id} = ${aircraft_engine_types.aircraft_engine_type_id} ;;
relationship: many_to_one
}
}
הפרמטר join הוא פרמטר מצטבר, ולכן בניתוח התוצאות יוצגו התצוגות המפורטות שצורפו לניתוח הבסיסי, בנוסף לתצוגות המפורטות שצורפו לניתוח המורחב. במקרה הזה, הניתוח aircraft_extended מכיל את התצוגה aircraft, את התצוגה aircraft_types ואת התצוגה aircraft_engine_types.

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