קבוע

Usage

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
היררכיה
constant
ערך ברירת המחדל
ללא

מקבל
  • value תת-פרמטר, שמקבל מחרוזת שמציינת את הערך של הקבוע
  • תת-פרמטר של export, שמציין אם צריך לבטל את ברירת המחדל של הקבוע כשמשתמשים בו בייבוא פרויקטים

הגדרה

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

צריך להגדיר קבועים בקובץ המניפסט של הפרויקט. אחר כך אפשר להשתמש בקבועים בכל הפרויקט באמצעות התחביר @{constant_name}.

אפשר להשתמש בתת-הפרמטר export של constant כדי לציין אם מפתחים צריכים לבטל את הערך של קבוע כשקובצים שמפנים אליו מיובאים לפרויקט אחר.

export

אפשר להשתמש בתת-הפרמטר export של constant כדי לקבוע איך אפשר להשתמש בקבוע כשמייבאים קבצים שמפנים לקבוע הזה לפרויקטים אחרים.

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

  • none: ערך ברירת המחדל של export. אי אפשר לשנות את הערך של הקבוע בפרויקט המיובא. הפרויקט שממנו מייבאים משתמש בערך הקבוע שצוין בקובץ המניפסט של הפרויקט המיובא.
  • override_optional: אפשר לבטל את הערך של הקבוע בפרויקט הייבוא. אם לא מציינים ערך בקובץ המניפסט של הפרויקט המיובא, המערכת משתמשת בערך המקורי מהפרויקט המיובא.
  • override_required: פרויקט הייבוא חייב לבטל את הערך הקבוע שצוין במקור בקובץ המניפסט של הפרויקט המיובא. אם לא מספקים ערך קבוע חדש בפרויקט הייבוא, Looker יציג שגיאה.

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

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

כשמייבאים קבצים שמפנים לקבוע לפרויקט אחר, אפשר להשתמש בתת-הפרמטר override_constant של local_dependency או remote_dependency בקובץ המניפסט של הפרויקט המייבא כדי לספק ערך חדש לקבוע שהמאפיין export שלו מוגדר לערך override_optional או override_required.

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

דוגמאות

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

תיוג של ניתוחים באמצעות הפרמטר constant

נניח שאתם רוצים ליצור שני ניתוחים באמצעות התכונה 'חיפוש חכם', עם התוויות San Francisco Users (משתמשים בסן פרנסיסקו) ו-San Francisco Orders (הזמנות בסן פרנסיסקו) בממשק המשתמש. כדי לעשות את זה, אפשר להגדיר קבוע city עם הערך "San Francisco" בקובץ manifest.lkml של הפרויקט:

constant: city {
  value: "San Francisco"
}

אחר כך אפשר להפנות לקבוע הזה בכל חלק בפרויקט שבו מתקבל מחרוזת, באמצעות התחביר @{city}. בדוגמה הזו, אפשר להגדיר את הניתוחים users ו-orders, ולציין את הערכים "@{city} Users" ו-"@{city} Orders" לפרמטר label, כמו בדוגמה הבאה:


explore: users {
  label: "@{city} Users"
}

explore: orders {
  label: "@{city} Orders"
}

בדוגמה הזו, Looker מציג את האפשרויות San Francisco Users ו-San Francisco Orders בתפריט 'ניתוח נתונים' ובכותרות של ניתוחי הנתונים, במקום את התוויות Users ו-Orders שמוצגות כברירת מחדל.

שימוש בפרמטר sql_table_name עם קבועים

נניח שרוצים ליצור כמה תצוגות על סמך טבלאות בסכימה 02349_sfo. כדי שלא תצטרכו לציין את הערך 02349_sfo כמה פעמים, אתם יכולים ליצור קבוע בשם schema בקובץ manifest.lkml של הפרויקט, באופן הבא:


constant: schema {
  value: "02349_sfo"
}

לאחר מכן אפשר ליצור תצוגות מבוססות סכימה 02349_sfo על ידי ציון @{schema}.view_name כערך של הפרמטר sql_table_name:


view: users {
  sql_table_name: @{schema}.users ;;
}

כך נוצרת תצוגה שנקראת Users שמבוססת על הטבלה users מהסכימה 02349_sfo.

שימוש במשתני Liquid וב-HTML עם קבועים

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

לדוגמה, אפשר ליצור קבוע negative_format שבאמצעותו יוחל העיצוב הזה על שדה:


constant: negative_format {
  value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}

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

לדוגמה, אפשר ליצור את המדד סכום כולל של type: sum ולציין את הערך @{negative_format} לפרמטר html:


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

בטבלה, ערכים שליליים במדד Total Amount (סכום כולל) יעוצבו בהתאם להגדרה של הקבוע negative_format, עם גופן אדום וסוגריים מסביב.

שימוש בקבועים בלוחות בקרה של LookML

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

לדוגמה, נניח שהגדרתם את הקבועים model_name ו-explore_name בקובץ manifest.lkml של הפרויקט:


constant: model_name {
  value: "thelook"
}

constant: explore_name {
  value: "orders"
}

בקובץ של לוח הבקרה, אפשר להגדיר את הערך של model ל-"@{model_name}" ואת הערך של explore ל-"@{explore_name}" לכל רכיבי לוח הבקרה שרוצים שיתבססו על המודל thelook ועל ה-Explore orders.

לדוגמה, נניח שאתם עורכים את קוד ה-LookML של רכיב של תרשים עמודות אנכי. בקובץ של לוח הבקרה, אפשר לציין את הערכים של הפרמטרים model ו-explore באופן הבא:


- dashboard: dashboard_name
  title: "dashboard title"
  layout: newspaper
  elements:
  - title: Element Title
    name: element_name
    model: "@{model_name}"
    explore: "@{explore_name}"
    type: looker_column

חשוב לדעת

הפניה לקבועים בהגדרה של קבוע

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


constant: city {
  value: "San Francisco"
}

אחר כך אפשר להגדיר קבוע state שמפנה לקבוע city:


constant: city_state {
  value: "@{city}, California"
}

הקבוע state יומר למחרוזת 'San Francisco, California'.

הוספת תו בריחה לתחביר של קבוע

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


dimension: id {
  type: string
  label: "@\{id}"
  sql: ${TABLE}.id
}

בדוגמה הזו, הפרמטר label מציג את המחרוזת @{id} כתווית של המאפיין id, במקום להעריך את הקבוע id ולהציג את הערך שלו.

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


dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}