עיצוב ערכי נתונים באמצעות LookML

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

שינוי הפורמט של ערכי נתונים

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

פרמטר תיאור דוגמה
value_format משתמשים ב-value_format כדי לעצב את הפלט של שדה type: number באמצעות אפשרויות בסגנון Excel.

שימו לב: value_format לא משפיע על שדות שהם לא type: number.
measure: total_order_amount {
  type: sum
  sql: ${order_amount} ;;
  value_format: "$#,##0.00"
 }
value_format_name אפשר להשתמש ב-value_format כדי לעצב את הפלט של שדה type: number באמצעות named_value_format מובנה או מותאם אישית.

הערה: value_format ו-value_format_name לא משפיעים על שדות שהם לא type: number.
measure: total_order_amount {
  type: sum
  sql: ${order_amount} ;;
  value_format_name: usd
}
style משתמשים בפרמטר style כדי לשנות את העיצוב של השדות של type: tier.

שימו לב: style הוא הפרמטר היחיד ב-LookML שמשפיע על העיצוב של שדות type: tier.
dimension: age_tier {
  type: tier
  tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
  style: classic
  sql: ${age} ;;
}
  
html משתמשים בפרמטר html כדי להחיל עיצוב HTML על השדה.

לדוגמה, אתם יכולים לשנות את הגופן, את גודל הגופן, את עובי הגופן או את צבע הגופן. בדוגמה שבטבלה הזו מוסבר איך להוסיף אמוג'י לשדה על סמך הערך שלו.
dimension: status {
  sql: ${TABLE}.status ;;
  html: {% if value == 'Shipped' or value == 'Complete' %}
      <p>✅ {{value}}</p>
    {% elsif value == 'Processing' %}
      <p>⏳ {{value}}</p>
    {% else %}
      <p>❌ {{value}}</p>
    {% endif %}
   ;;
}
sql אפשר להשתמש בפרמטר sql כדי לשנות את ערכי הנתונים באמצעות SQL.

להשתמש בכל טרנספורמציות SQL שמותרות במסד הנתונים. בדוגמה שבטבלה הזו מוסבר איך להוסיף אמוג'י לשדה על סמך הערך שלו.
dimension: status {
  sql: CASE WHEN (${TABLE}.status = 'Shipped' OR ${TABLE}.status = 'Complete') ;;
     THEN CONCAT('✅ ', ${TABLE}.status)
   WHEN ${TABLE}.status = 'Processing'
     THEN CONCAT('⏳ ', ${TABLE}.status)
   ELSE
     CONCAT('❌ ', ${TABLE}.status)
   END ;;
}

שינוי פעולות שאפשר ללחוץ עליהן כדי להציג ערכי נתונים

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

פרמטר תיאור דוגמה
drill_fields משתמשים ב-drill_fields כדי לציין אילו שדות יוצגו כשהמשתמש יכנס לנתונים. שימו לב: לממדים ולמדדים יש התנהגות שונה של פירוט.

אפשרויות מתקדמות ליצירת נתיב מותאם אישית לניתוח מעמיק של נתונים מפורטות במאמר ניתוח מעמיק של נתונים.
dimension: country {
  sql: ${TABLE}.country ;;
  drill_fields: [state, city]
}
action אפשר להשתמש ב-action כדי ליצור פעולת נתונים בשדה, וכך לאפשר למשתמשים לבצע משימות בכלים אחרים ישירות מ-Looker.

אם הוגדרה פעולה אחת או יותר בשדה, יופיעו שלוש נקודות (...) ליד השדה בטבלאות הנתונים. לחיצה על השדה או על סמל האליפסות תציג תפריט שממנו המשתמשים יכולים לבחור פעולה או להציג את הנתונים ברזולוציה גבוהה יותר.
dimension: action_example {
  action: {
    label: "Send a Thing"
    url:
      "https://example.com/ping/{{value}}"
    form_url:
      "https://example.com/ping/{{value}}/form.json"
  }
}
link אפשר להשתמש ב-link כדי ליצור קישור בשדה.

אם מוגדר קישור אחד או יותר לשדה, יופיעו שלוש נקודות (...) לצד השדה בטבלאות הנתונים. כשלוחצים על השדה או על סמל האליפסות, מופיע תפריט שממנו המשתמשים יכולים לבחור קישור או להציג את הנתונים ברמת פירוט גבוהה יותר.
dimension: artist_name {
  link: {
    label: "Google"
    url: "http://www.google.com/search?q={{value}}"
    icon_url: "http://google.com/favicon.ico"
   }
}
html משתמשים ב-html כדי לכתוב עיצוב HTML מותאם אישית לשדה. באמצעות תגי HTML כמו התג <a>, אפשר לציין היפר-קישור אחד או יותר בשדה.

אם הוגדרו שדה אחד או יותר של פעולות או קישורים, יופיעו שלוש נקודות (...) לצד השדה בטבלאות הנתונים, ללא קשר להגדרה של html. בלחיצה על השדה או על סמל האפשרויות הנוספות (שלוש נקודות) יופיע תפריט שממנו המשתמשים יכולים לבחור קישורים או פעולות זמינים.
dimension: artist_name {
  html: <p>{{value}}
    <a href="#drillmenu">Drill menu</a>,
    <a href="http://www.google.com/search?q={{value}}">
      Google search
    </a></p>;;
    sql: ${TABLE}.artist_name ;;
    type: string
}