您可以在项目的清单文件中使用 LookML constant
参数来定义可在整个项目中使用的字符串。当您需要定义特定字符串(例如数字、名称或字段值的 HTML 格式)并在整个项目中重复使用该值时,LookML 常量会非常有用。
本页包含以下示例,展示了如何使用 LookML 常量在一个位置定义和维护可重复使用的字符串值:
- 在多个探索的标签中使用相同的字符串:如果您在定义中重复使用常用字符串(例如字词、短语或位置名称),此技巧可帮助您节省时间。
- 为多个字段中的负值应用相同的格式:此技巧可让您定义条件格式规范,以便在多个字段中使用,从而节省时间。
所需材料
前提条件
示例:在多个探索的标签中使用相同的字符串
假设您想在界面中创建两个探索,分别标记为旧金山用户和旧金山订单,但不想手动输入每个标签的文本。
为此,您可以在项目的项目清单文件中定义一个值为 "San Francisco"
的常量 place_name
:
constant: place_name {
value: "San Francisco"
}
然后,您可以使用 @{place_name}
语法在项目中接受字符串的任何部分引用此常量。在此示例中,您可以定义 users
和 orders
探索,并指定 "@{place_name} Users"
和 "@{place_name} Orders"
作为 label
参数的值,如以下示例所示:
explore: users {
label: "@{place_name} Users"
}
explore: orders {
label: "@{place_name} Orders"
}
在此示例中,Looker 会在“探索”菜单和探索的标题中显示旧金山用户和旧金山订单,而不是默认的用户和订单标签。
假设您想将所有对旧金山的引用更新为湾区。
您只需对项目清单文件中的 place_name
常量进行一次更新,而无需手动更新每个引用:
constant: place_name {
value: "Bay Area"
}
由于您定义了 place_name
常量,因此无需在多个位置手动将 San Francisco 更改为 Bay Area。系统会将引用 place_name
常量的 San Francisco 替换为 Bay Area,因此 Looker 会在“探索”菜单和探索的标题中显示 Bay Area Users 和 Bay Area Orders。
示例:为多个字段中的负值应用相同的格式
假设您希望在图表或查询中显示负数据值时,这些值以红色显示并用英文圆括号括起来。
通过将此格式设置为 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
的总金额度量,并将 html
参数的值指定为 @{negative_format}
:
measure: total_amount {
type: sum
value_format_name: usd
sql: ${amount} ;;
html: @{negative_format} ;;
}
在您的表格中,总金额指标的负值将按照 negative_format
常量定义中的指定格式设置,即采用红色字体并用英文圆括号括起来。
如果您想对其他字段的负值应用相同的格式,可以在这些字段的 html
参数中引用 negative_format
常量。