בדף הזה אנחנו מתייחסים לפרמטר
sql_table_nameשהוא חלק מתצוגה.אפשר להשתמש ב-
sql_table_nameגם כחלק מצירוף, כמו שמתואר בדף התיעוד של הפרמטרsql_table_name(לצירופים).אפשר להשתמש ב-
sql_table_nameגם כחלק מניתוח, כמו שמתואר בדף התיעוד של הפרמטרsql_table_name(לניתוחים).
Usage
view: view_name {
sql_table_name: table_name ;;
}
sql_table_name |
ערך ברירת המחדל
שם התצוגה
אישור
שם של טבלה במסד הנתונים
כללים מיוחדים
|
הגדרה
הפרמטר sql_table_name מציין את הטבלה במסד הנתונים שעליה תתבצע שאילתה על ידי תצוגה.
אם רוצים ליצור תצוגה מפורטת על סמך טבלה נגזרת, לא משתמשים בפרמטר
sql_table_name. במקום זאת, צריך להשתמש בפרמטרderived table, שמתואר בדף התיעוד שלderived_table. סביבת הפיתוח המשולבת (IDE) של Looker תחזיר שגיאה אם יש לכם גםsql_table_nameוגםderived_tableבקובץ תצוגה.
אם תצוגה לא מכילה את הפרמטר sql_table_name או את הפרמטר derived_table, Looker מניח שהתצוגה מבוססת על טבלת מסד נתונים, וששם טבלת מסד הנתונים זהה לשם התצוגה. במילים אחרות, זה:
view: my_name { ... }
שווה מבחינה לוגית לביטוי הבא:
view: my_name {
sql_table_name: my_name ;;
}
בדרך כלל לא משתמשים ב-sql_table_name, אלא מסתמכים על התנהגות ברירת המחדל הזו. עם זאת, יש מצבים חשובים שבהם זה יכול להיות שימושי. קודם כל, במקרים מסוימים תרצו שהתצוגה תהיה עם שם שונה מהטבלה הבסיסית, למשל כדי לנקות שם טבלה מבולגן:
view: orders {
sql_table_name: prod_orders_2 ;;
}
בנוסף, יש מקרים שבהם תצוגה צריכה להתבסס על מסד נתונים או סכימה שלא נמצאים בנתיב החיפוש שמוגדר כברירת מחדל למשתמש במסד הנתונים. אחר כך אפשר להגדיר את ההיקף של שם הטבלה באמצעות הפורמט <schema_name>.<table_name>, כך:
view: desired_view_name {
sql_table_name: database_name.schema_name.table_name ;;
}
הגדרת היקף לשמות של טבלאות
כשמפנים לטבלה באמצעות שם הטבלה בלבד, Looker משתמש בנתיב החיפוש שמוגדר כברירת מחדל (מסד הנתונים והסכימה) שהאדמין שלכם ב-Looker הגדיר בהגדרות החיבור לחיבור מסד הנתונים. מידע נוסף זמין בקטע דברים שכדאי לדעת בדף הזה.
אם אתם צריכים להפנות לטבלה במסד נתונים ובסכימה אחרים שלא נמצאים בנתיב החיפוש שמוגדר כברירת מחדל למשתמש במסד הנתונים, אתם יכולים להגדיר את היקף השם של הטבלה באמצעות הפורמט <database_name>.<schema_name>.<table_name> כדי להפנות למסד נתונים או לסכימה אחרים:
- כדי לבצע הפניה לטבלה מסכימה אחרת, משתמשים בפונקציה
<schema_name>.<table_name>, כמו שמוצג בדוגמה בדף הזה. - כדי להפנות לטבלה ממסד נתונים אחר, צריך להשתמש ב
<database_name>.<schema_name>.<table_name>המלא.
בחיבור ל-Google BigQuery, אפשר להפנות לטבלה בפרויקט ובמערך נתונים אחרים על ידי הגדרת היקף לשם הטבלה בפורמט <project_name>.<dataset_name>.<table_name>. מידע נוסף זמין בדף חיבור ל-Google BigQuery.
הצטרפות מאוחדת
איחוד של שתי טבלאות ממסדי נתונים שונים נקרא איחוד משותף (federated join). אפשר לבצע איחודים מאוחדים באמצעות Looker אם שני מסדי הנתונים הם באותו דיאלקט של SQL, הדיאלקט תומך באיחודים מאוחדים ושני מסדי הנתונים נגישים מאותו חיבור ב-Looker. בהתאם להגדרת מסד הנתונים, יכול להיות שהטבלאות צריכות להיות באותו מחשב פיזי.
בתנאים האלה, אפשר ליצור איחוד מאוחד על ידי ציון שם מסד הנתונים של כל טבלה בפרמטר sql_table_name של התצוגה הזו:
view: view_1 {
sql_table_name: database_name.table_1 ;;
}
view: view_2 {
sql_table_name: another_database_name.table_2 ;;
}
אחר כך מצטרפים לתצוגות האלה באמצעות הפרמטר sql_on:
explore: view_1 {
join: view_2 {
sql_on: ${view_1.view_1_ID} = ${view_2.view_2_ID} ;;
}
}
אם רוצים לצרף מסדי נתונים שנמצאים בניבים שונים של SQL, מומלץ לשכפל מסד נתונים אחד למסד הנתונים השני כדי שאפשר יהיה לשלוף את כל הנתונים ממקור אחד.
דוגמאות
בדוגמה הזו, התצוגה customers מסתמכת על הטבלה customer_1 מהסכימה שמוגדרת כברירת מחדל:
view: customers {
sql_table_name: customer_1 ;;
}
בדוגמה הזו, התצוגה customers מסתמכת על הטבלה customer_1 מהסכימה analytics על ידי הגדרת היקף של שם הטבלה כך שיכלול את שם הסכימה (בפורמט <schema_name>.<table_name>):
view: customers {
sql_table_name: analytics.customer_1 ;;
}
דברים שכדאי לקחת בחשבון
צריך להיות אפשר לגשת לטבלאות שאליהן מתייחסים ב-view מהחיבור הנוכחי
כשמשתמשים בפרמטר sql_table_name באובייקט view, אפשר להפנות לאובייקט view הזה באובייקט explore, שאליו אפשר להפנות באובייקט model. באובייקט המודל מוגדר מסד נתונים connection. כשמפנים לטבלת מסד נתונים בפרמטר sql_table_name, צריך לוודא שיש גישה לטבלה בחיבור המשויך שצוין בקובץ המודל.
מסד הנתונים והסכימה שמוגדרים כברירת מחדל (או פרויקט החיוב ומערך הנתונים ב-Google BigQuery) מוגדרים על ידי האדמין של Looker כשהוא יוצר את החיבור של Looker למסד הנתונים.
יכול להיות ששמות טבלאות לא ידידותיים ידרשו עיצוב נוסף
בחלק מהניבים, שמות של טבלאות שמכילים תווים לא נתמכים (שנקראים גם שמות לא ידידותיים של טבלאות) צריכים להיות מוקפים בסוגריים מרובעים, במירכאות כפולות או במירכאות בודדות. לדוגמה, שם הטבלה Customers.PaymentInfo כולל נקודה בשם הטבלה, שאפשר לפרש אותה כטבלה בשם PaymentInfo בסכימה Customers. כדי לתקן את זה, אם הדיאלקט שלכם דורש סוגריים מרובעים, אתם יכולים להקיף את שם הטבלה בסוגריים מרובעים, באופן הבא:
sql_table_name: [Customers.PaymentInfo] ;;
אם הניב שלכם דורש גרשיים או מירכאות, צריך להחליף את הסוגריים המרובעים בתווים האלה.