Looker כולל כמה שכבות מפה מובנות, אבל אפשר גם להגדיר אזורים מותאמים אישית במפה כדי להציג נתונים גיאוגרפיים. נניח שיש לכם טבלה עם הגיל הממוצע בשלוש שכונות, באופן הבא:
| שכונת לקוחות | גיל ממוצע של לקוחות |
|---|---|
| מרכז העיר | 19.5292 |
| eastside | 54.4626 |
| westside | 34.9534 |
יכול להיות שתרצו למפות שכונה של לקוחות לאזור גיאוגרפי מסוים, כדי שתוכלו לראות אותה במפה. כדי לעשות זאת, פועלים לפי השלבים שמפורטים בדף הזה.
הכנת נתוני האזור
כדי להכין את נתוני האזור, צריך קובץ נתונים שמכיל את הצורות הגיאוגרפיות של כל אזור, וגם מטא-נתונים שמשייכים את האזור לנתונים במסד הנתונים.
Looker משתמש בפורמט שנקרא TopoJSON כדי לאחסן את הנתונים האלה בצורה קומפקטית. אפשר ליצור בקלות קובצי TopoJSON מפורמטים נפוצים רבים של קובצי shapefile, או לצייר קובץ כזה בעצמכם באמצעות כלים אונליין, כמו שמתואר בפוסט בקהילה בנושא המרת קובצי shapefile ל-TopoJSON.
לצורך הדוגמה הזו, כבר יהיה מוכן קובץ TopoJSON שמספק את המיפוי הזה. לכל אזור בקובץ ה-TopoJSON יש מאפיין בשם neighborhood שתואם לערכים של השדה Customer Neighborhood, שמוגדר בפרויקט LookML כמאפיין שנקרא neighborhood.
העלאת נתונים של אזורים
כדי לייבא את נתוני האזור ל-Looker, אפשר לגרור ולשחרר את קובץ ה-TopoJSON אל הקטע File Browser בפרויקט. הנתונים האלה יאוחסנו לצד קוד LookML ויעודכנו כמו כל קוד אחר בפרויקט LookML.
יצירת שכבת המפה
אחרי שמוסיפים את נתוני האזור לפרויקט, צריך ליצור שכבת מפה במודל LookML.
אפשר להוסיף הגדרה בקובץ המודל באמצעות הפרמטר map_layer:
map_layer: my_neighborhood_layer {
file: "neighborhoods.topojson"
property_key: "neighborhood"
}
הפרמטר file מפנה לשם הקובץ בפרויקט שמכיל את נתוני האזור, והפרמטר property_key הוא המאפיין של מערך הנתונים שרוצים לחשוף ב-Looker. אם אתם לא בטוחים מה המפתח, פשוט אל תציינו את מפתח המאפיין ו-Looker ינסה לבחור את המפתח המתאים.
טיפ: אפשר גם להשתמש בקובץ TopoJSON שמתארח במקום אחר באינטרנט. לשם כך, צריך לצייןurlבמקוםfileבהגדרת השכבה:
map_layer: my_neighborhood_layer {
url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON"
property_key: "neighborhood"
}
שיוך שכבת המפה לנתונים
הדבר היחיד שנותר לעשות הוא לשייך את המאפיין neighborhood בתצוגה לשכבת המפה החדשה שנוצרה על ידי החלת הפרמטר map_layer_name.
dimension: neighborhood {
sql: ${TABLE}.neighborhood ;;
map_layer_name: my_neighborhood_layer
}
ההגדרה הזו מציינת ל-Looker שהערכים של המאפיין הזה משויכים ל-property_key שנחשף על ידי שכבת המפה. התג הזה גם מאפשר ל-Looker לדעת שאפשר להציג את הנתונים האלה במפה.
צפייה במפה
עכשיו אפשר להציג במפה את השאילתות שמשתמשות במאפיין neighborhood מדף הניתוח: