שימוש
constant: constant_name { value: "string" export: none | override_required | override_optional }
|
היררכיה
constant |
ערך ברירת המחדל
ללא
אמצעי תשלום מקובלים
|
הגדרה
הפרמטר 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 בתפריט Explore ובכותרות של ה-Explores, במקום תוויות ברירת המחדל Users ו-Orders.

שימוש בפרמטר sql_table_name עם קבועים
נניח שאתם רוצים ליצור כמה תצוגות (views) על סמך טבלאות בסכימה 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
שימוש בקבועים בהוראות לסוכן במרכז הבקרה
אתם יכולים גם להשתמש בקבועים של 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 יוחלף במחרוזת "תל אביב, ישראל".
תחביר של קבועים עם תווי בריחה (escape)
אם רוצים לכתוב מחרוזת שדומה לתחביר של קבוע, אבל לא רוצים שהמחרוזת הזו תחושב כקבוע, אפשר להשתמש בתו הבריחה (escape) של הלוכסן ההפוך \ אחרי התו @. לדוגמה:
dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }
In this example, the [`label` parameter](/looker/docs/2620/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
}