קבוע

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

נניח שאתם רוצים ליצור שני פרויקטים של Explores, שכותרתם 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 בתפריט Explore ובכותרות של Explores, במקום את התוויות המוגדרות כברירת מחדל 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

שימוש בקבועים בהוראות לסוכן לוח הבקרה [גרסת Preview]

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

לדוגמה, מגדירים קבוע בקובץ manifest.lkml:

constant: FISCAL_YEAR_RULE {
  value: "Always filter all requests by the current fiscal year unless specified otherwise."
}

אחר כך אפשר להפנות לקבוע בפרמטר instructions של הגדרת agent:

agent: sales_dashboard_agent {
  instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
  is_dashboard_agent: yes
}

חשוב לדעת

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

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


constant: city {
  value: "San Francisco"
}

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


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

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

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

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

```none

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




In this example, the [`label` parameter](/looker/docs/2614/reference/param-explore-label) displays the string **@{id}** as the label for the `id` dimension, rather than evaluating the `id` constant and outputting its value.

Constant references won't be evaluated if the brackets are not closed, in which case it is not necessary to escape constant syntax. Thus, `@{id` in the following example wouldn't be evaluated as a constant.


```none

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