קישור

Usage

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
היררכיה
link
סוגי שדות אפשריים
מאפיין, מדד

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

הגדרה

הפרמטר link מאפשר להוסיף קישורי אינטרנט למאפיינים ולמדדים, כדי שהמשתמשים יוכלו לעבור בקלות לתוכן קשור ישירות מ-Looker. הצורה של פרמטר link היא:

dimension: field_name {
  link: {
    label: "desired label name"
    url: "desired_url"
    icon_url: "url_of_an_image_file"
  }
  # Possibly more links
}

הפרמטר link כולל כמה פרמטרים משניים:

  • label הוא השם של הקישור שרוצים שיופיע למשתמשים.
  • url היא כתובת ה-URL שאליה רוצים שהקישור יוביל. כדי ליצור קישורים דינמיים, אפשר להשתמש במשתני Liquid, כמו שמתואר בקטע שימוש במשתני Liquid עם link בדף הזה.
  • icon_url היא כתובת URL שנגישה לדפדפן של המשתמש ומכילה קובץ תמונה. כך המשתמשים יכולים להבין במבט חטוף לאן הקישור יוביל אותם. הפרמטר icon_url לא נדרש אם לא רוצים להוסיף סמל. אם אתם צריכים לוגו של חברה, נסו להריץ חיפוש ב-Google עם התבנית http://www.google.com/s2/favicons?domain=[company website of interest] כדי למצוא תמונות בפורמט .ico.

דוגמה

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

כדי שהמשתמש שצופה ב-Look יוכל לבצע את הפעולה הזו, אפשר להוסיף קישור למאפיין מזהה הזמנה:


dimension: id {
  primary_key: yes
  type: number
  sql: ${TABLE}.id ;;
  link: {
    label: "Contact Warehouse Support"
    url: "mailto:warehouse@altostrat.com"
  }
}

ב-Look, המשתמש יראה את הקישור Contact Warehouse Support בין האפשרויות בתפריט הקישורים. כדי לגשת לתפריט הקישורים, צריך ללחוץ על סמל האפשרויות הנוספות (שלוש נקודות) של אחד מהערכים בשדה Orders ID.

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

כשמשתמש לוחץ על קישור, Looker פותח את הקישור בכרטיסייה חדשה בדפדפן או באותה כרטיסייה (או ב-iframe, בשאילתות מוטמעות):

  • קישורים מוחלטים, כמו https://example.looker.com, ייפתחו בכרטיסייה חדשה בדפדפן.
  • קישורים יחסיים, כמו /dashboards/456, ייפתחו באותה כרטיסייה בדפדפן או באותו iframe. אחרי שהקישור נפתח, המשתמש יכול ללחוץ על הקודם בדפדפן כדי לחזור לשאילתה המקורית.

כדי לגשת לקישורים, למשתמש צריכה להיות הרשאה מסוג explore או see_drill_overlay.

הפרמטר link תומך במשתני Liquid כדי להפוך את התוכן לאינטראקטיבי עוד יותר ברמת השורה והערך. ב-LookML יש שני סוגים של תגי שימוש ב-Liquid: תגי קלט של ערכים {{ }} ותגי לוגיקה מותנית {% %}.

מבין השניים, {{ }}, בשילוב עם value ו-_filters['view_name.field_name'] משתני Liquid, הוא הנפוץ ביותר בשימוש עם link. הסיבה לכך היא שתגי {{ }} מכניסים ערכי קלט ישירות למקום שבו הם מוצבים, למשל בתוך כתובת URL.

בדף הזה מופיעות דוגמאות לשימוש בתגי Liquid‏ {{ }} עם המשתנים value ו-_filters['view_name.field_name'] כדי ליצור תוכן אינטראקטיבי עם link.

קישור לתוכן חיצוני

לדוגמה, נניח שיש לכם מאפיין artist_name ואתם רוצים שהמשתמש יוכל להריץ חיפוש Google על האומן הזה ישירות מ-Looker. אפשר להשתמש בvalue משתנה Liquid כדי להוסיף את האפשרות הזו למאפיין, כמו בדוגמה הבאה:

dimension: artist_name {
  link: {
    label: "Google"
    url: "http://www.google.com/search?q={{ value }}"
    icon_url: "http://google.com/favicon.ico"
  }
}

כשמשתמש לוחץ על סמל האפשרויות הנוספות (שלוש נקודות) של ערך בשדה שם האומן, בתפריט קישורים של Looker מוצג הקישור שנוצר בדוגמה של LookML. הקישור פותח כרטיסייה חדשה בדפדפן עם חיפוש Google של האומן שנבחר. שם האומן שנבחר מוכנס לכתובת ה-URL במקום {{ value }}.

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

קישור לתוכן ב-Looker

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

כדי להתחיל, צריך להשיג את כתובת ה-URL של Explore,‏ Look או לוח בקרה קיימים שרוצים לקשר אליהם. אחר כך אפשר להחליף רכיבים ספציפיים בכתובת ה-URL, כמו שמות וערכים של מסננים, בתגי {{ }} שמכילים את המשתנים value ו-_filters['view_name.field_name']. המשתנים יזינו ערכים שנבחרו על ידי המשתמש ברכיבי כתובת ה-URL שהם מחליפים. המבנה הבסיסי של כתובות URL של תוכן הוא כדלקמן:

  • הכרטיסייה 'הסבר': /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • כדי לקבל את כתובת ה-URL המלאה של Explore קיים, בוחרים באפשרות סמל גלגל השיניים כתובת URL מורחבת.
    • מסנני החיפוש יופיעו בכתובות ה-URL כ-f[view_name.field_name]. בקטע קישור ל-Explore קשור אפשר לראות דוגמה.
  • כך נראה: /looks/YOUR_LOOK_NUMBER
  • לוח בקרה בהגדרת המשתמש: /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

  • מרכז שליטה של LookML: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • כדי לקבל את כתובת ה-URL של לוח בקרה קיים ב-LookML, מעתיקים את כתובת ה-URL בדפדפן מדף לוח הבקרה.

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

רכיבים של כתובות URL, כמו שמות וערכים של מסננים, הם מקודדים בכתובת ה-URL עם תווים מיוחדים, כמו ? כדי לציין את ההתחלה של מחרוזת שאילתה, & כדי להפריד בין רכיבים ו-%20 לרווחים. דוגמה מופיעה בקטע קידוד כתובות URL לאופרטורים אחרים להשוואה.

אחרי שיש לכם את כתובת ה-URL של התוכן שאליו אתם רוצים לקשר, אתם יכולים להשתמש ב-Liquid כדי להוסיף את הערך של שדה לכל רכיב בכתובת ה-URL, באמצעות המשתנים value או _filters['view_name.field_name'] והתגים {{ }}. במאמר Using URLs and query parameters בקהילת Looker יש מידע נוסף על החלקים של כתובת URL ופרמטרים של שאילתה.

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

כדי לעשות את זה:

  1. משיגים את כתובת ה-URL של הניתוח הקיים שרוצים להגיע אליו.
  2. מוסיפים פרמטר link למאפיין City:
  dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]=&sorts=orders.count+desc&limit=500"
  }
  }

במקרה הזה, כתובת ה-URL קוצרה ל-limit=500, מה שמגביל את תוצאות ה-Explore ל-500 שורות, לשם הבהרה — אפשר לכלול את שאר כתובת ה-URL, שבדרך כלל כוללת קידוד של הגדרות הוויזואליזציה, לפי הצורך.

  1. מוסיפים את תג Liquid‏ {{ value }} ואת המשתנה במקום שבו רוצים להוסיף את הערך לכתובת ה-URL. במקרה הזה, אנחנו רוצים להציב את הערך במקום שבו רכיב הסינון, f[users.city]=, ממוקם במחרוזת כתובת ה-URL של התכונה 'ניתוח נתונים', כדי שהסינון יתבצע לפי העיר שהמשתמש בחר:
dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]={{ value }}&sorts=orders.count+desc&limit=500"
  }
}

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

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

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

דוגמה: העברת ערך של מסנן קיים לתוכן מקושר

עוד משתנה Liquid שנתמך על ידי הפרמטר link הוא _filters['view_name.field_name']. המשתנה הזה מקבל את הערכים הקיימים שהוזנו למסנן ומעביר אותם לניתוח, למרכז בקרה או ל-Look מקושרים.

בכתובות ה-URL של התוכן, אפשר לראות איפה מצוינים ערכי המסנן ולהחליף אותם במשתנה _filters['view_name.field_name']. מידע על החלקים של כתובת URL של שאילתה מופיע בפוסט בקהילת Looker בנושא שימוש בכתובות URL ובפרמטרים של שאילתה.

הנה דוגמה למאפיין שמשתמש במשתנה _filters['view_name.field_name'] בפרמטר link שלו כדי להעביר ערך סינון קיים לשדה שנקרא users.state:

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
  }
}

בדוגמה הזו, אם משתמש מסנן שאילתה לפי המאפיין users.state, מרכז הבקרה המקושר מסונן אוטומטית לפי אותם מצבים שנבחרו בשאילתה המקורית. הכללת מסנן Liquid‏ url_encode בדוגמה הזו ממירה מחרוזות לא בטוחות לכתובות URL למחרוזות בקידוד אחוזים. כך אפשר להעביר ללוח הבקרה המקושר ערכי מסנן שמכילים תווים מיוחדים, כמו רווחים או פסיקים.

לדוגמה, נניח שמשתמש סינן שאילתה לפי המדינה "קליפורניה". כשמשתמש לוחץ על סמל האפשרויות הנוספות (3 נקודות) לצד ערך בשדה שם, בתפריט קישורים מוצג קישור ללוח הבקרה Business Pulse by State. כשמשתמש ילחץ על הקישור הזה, מרכז הבקרה Business Pulse by State כבר יסונן לפי המדינה 'קליפורניה'.

האפשרות הזו פועלת גם להעברת ערכי סינון ל-Looks ולניתוחים מקושרים:

dimension: name {
    link: {
      label: "Average Order Profit Look"
      url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
    link: {
      label: "User Facts Explore Explore"
      url: "/explore/ecommerce/users?fields=users.id,users.name&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
  }

אפשר להעביר כמה מסננים על ידי הצבת & ביניהם, כמו בכתובות ה-URL הבאות:

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}&Date={{ _filters['orders.date'] | url_encode }}"
  }
  link: {
    label: "Average Order Profit Look"
    url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}&f[orders.date]={{ _filters['orders.date'] | url_encode }}"
  }
}

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

אם האדמין שלכם ב-Looker הפעיל את התכונה Visual Drilling, אתם יכולים להתאים אישית את הוויזואליזציה שמוצגת בשכבות-על של Drill בדוחות מסוג Explores וב-Looks באמצעות הפרמטר link ומשתני Liquid. לוחות בקרה תומכים בתרגול להמחשה באמצעות הפרמטר link, בלי שצריך להפעיל את התכונה תרגול להמחשה.

דוגמה להגדרת תרשים פיזור להצגת נתונים ברמת פירוט גבוהה יותר:


  measure: count {
    type: count_distinct
    sql: ${id} ;;
    drill_fields: [created_date, total_sale_price]
    link: {
      label: "Drill as scatter plot"
      url: "
      {% assign vis_config = '{\\"type\\": \\"looker_scatter\\"}' %}
        \{\{ link \}\}&vis_config=\{\{ vis_config | encode_uri \}\}&toggle=dat,pik,vis&limit=5000"
    }
  }

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

נקודות למחשבה כשמקשרים לתוכן ב-Looker

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

קידוד כתובת URL של אופרטורים אחרים להשוואה

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

לדוגמה, אם רוצים להוסיף order_id מסנן ל-Look מקושר כדי לכלול ערכים שקטנים מ (<) השדה order_id שמשויך לערך שעליו לוחצים, צריך לקודד חלקית את תו האופרטור (%3C במקרה הזה) ולהוסיף אותו לכתובת ה-URL:

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
כולל כמה מסננים

אפשר להחיל יותר ממסנן אחד על תצוגות Look, לוחות בקרה וניתוחים מקושרים באמצעות אמפרסנד (&) כדי להפריד בין כל מסנן:

dimension: name {
  link: {
    label: "Drill Look"
    url:"/looks/looknumber?&f[users.state]={{ value }}[users.region]={{ users.region._value }}&f[users.age]={{ _filters['users.age'] | url_encode }}"
  }
}
שימוש בתו בריחה לפסיקים

אפשר להשתמש במשתנה filterable_value כדי להוסיף תו בריחה לפסיקים בערכים מקושרים, במקום במשתנה value שבו משתמשים בדרך כלל.

הקישור הבא יפנה אתכם לניתוח ב-Explore שיסנן את התוצאות לפי הערך users.city שנבחר:

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ value }}"
    }
}

אם המשתמש ילחץ על Santa Cruz, CA כדי להציג את התוצאות שסוננו לפי העיר הזו, התוצאה שתתקבל תהיה כל התוצאות שמכילות את Santa Cruz או את CA.

אם משתמשים ב-filterable_value במקום ב-value, הפסיק יסומן בתו בריחה:

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ filterable_value }}"
    }
}

התוצאה של ההתעמקות בנתונים תחזיר את כל התוצאות שמכילות את ערך המחרוזת Santa Cruz, CA.

אם רוצים להוסיף לכתובת URL של ניתוח מעמיק ערך מסנן שכולל פסיק, אפשר להוסיף לערך תו בריחה (escape) על ידי הוספת מירכאות כפולות סביב הערך ואז הוספת תו בריחה (escape) למירכאות באמצעות לוכסן הפוך (\):

dimension: city {
    type: string
    sql: ${TABLE}.city;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]=\"Santa Cruz, CA\"&sorts=users.email"
    }
}

מקורות מידע נוספים

חשוב לדעת

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