本页重点介绍了如何将 Looker 的 parameter
字段与接受 Liquid 变量的某些 label
子形参搭配使用。
本页面上的示例需要您了解 Liquid。如需了解如何在 Looker 中使用 Liquid,请访问我们的 Liquid 变量参考文档页面。
使用 view_label
作为动态视图名称
Looker 的 view_label
参数用于在“探索”字段选择器中将维度分组在一起,并使用更具情境化且更易于理解的名称。如需详细了解视图标签,请访问 view_label
(针对字段)文档页面。
为维度分配相同的 view_label
可简化用户的探索。清晰且描述性强的字段分组可确保用户能够找到所需的数据。
示例:使用 Liquid view_label
编写 DRY(避免重复代码)代码
例如,假设您在名为“库存商品”的探索中,将字段整理到“财务和会计”view_label
下:
dimension: cost { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST ;; } dimension: cost_ex_vat { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EX_VAT ;; } dimension: cost_eur { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EUR ;; }
如果您想将用户的view_label
财务与会计
更改为理财天地
,该怎么做?使用 Liquid 可避免重复重写代码。
您可以使用 Looker 的 parameter
字段创建所需视图名称的伪变量类型。在 parameter
中更改视图名称后,所有字段都会更新。
parameter: view_label { type: string default_value: "The Money Zone" }dimension: cost { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST ;; } dimension: cost_ex_vat { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EX_VAT ;; } dimension: cost_eur { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EUR ;; }
注意:如果您不希望引号显示在菜单中,则必须将 parameter
设置为 type:unquoted
,并且 default_value
必须是不含空格的字符串,例如 The_Money_Zone
。如果参数为 type:string
,则会显示英文引号。
动态字段标签
您可能拥有多个用户群组,他们对字段名称的解读可能各不相同。例如,有些用户可能会将毛利润称为营业利润,而其他用户可能会将毛利润称为标准利润,具体取决于其使用情形。
字段名称可能会因用户而异,具体取决于您如何组合用户属性和 Liquid 变量。
示例:针对不同用户属性的不同标签
在上述示例的基础上,您可以通过将“毛利率”字段显示为“标准边际利润”(对于某些用户)和“营业利润”(对于其他用户)来适应业务逻辑的差异。以下 LookML 利用了用户属性和 Liquid 变量。
dimension: gross_margin { label: "{% if _user_attributes['customer'] == 'A' %} Standard Margin {% elsif _user_attributes['customer'] == 'B' %} Operating Margin {% else %} Gross Margin {% endif %}" type: number value_format_name: usd sql: ${sale_price} - ${inventory_items.cost} ;; }
根据 LookML,字段 Gross Margin 在 User A 的“探索”字段选择器中显示为 Operating Margin。
根据 LookML,字段 Gross Margin 在用户 B 的“探索”字段选择器中显示为 Standard Margin。
此模式还可用于逐个用户地创建低级本地化,如以下示例所示。
示例:多个探索的自定义字段名称
此示例结合了之前示例中的技术,创建了一个“探索”功能,其字段标签会因用户所在区域而异。
在此示例中,有两个区域团队(Finance East 和 Finance West)使用名为 Company Sales 的 Explore。两个团队都需要在查询中使用总利润和总收入指标:
measure: total_profit { label: "{{ _explore._name}}: Profit" type: sum sql: ${profit} ;; } measure: total_revenue { label: "{{ _explore._name}}: Revenue" type: sum sql: ${sale_price} ;; value_format_name: usd }
不过,每个团队都希望字段名称能反映其团队的区域。
开发者可以使 Finance East 的用户看到一种字段名称,而 Finance West 的用户看到另一种字段名称。他们可以使用以下 Liquid 参数通过 DRY LookML 实现此目的:
from
参数用于指定探索的底层视图。explore_label
用于为两个别名化的探索(“公司销售额”)显示相同的名称,以便为两个团队创建相同的探索体验。
{{ _explore._name}}
Liquid 变量,可以根据团队的区域更改指标的标签,该变量将捕获并显示探索名称。探索:
explore: Finance_East{ from: order_items label: "Company Sales" view_label: "The Money Zone" } explore: Finance_West{ from: order_items label: "Company Sales" view_label: "The Money Zone" }
在探索时,“Finance East”团队会将“总利润”字段显示为“Finance_East: Profit”,并将“总收入”字段显示为“Finance_East: Revenue”。
在探索时,Finance West 团队会将“总利润”字段显示为“Finance_West:利润”,并将“总收入”字段显示为“Finance_West:收入”。
如需了解其他自定义字段向用户显示方式的方法,请访问更改“探索”菜单和字段选择器文档页面。