原生函数默认处于停用状态。如需了解如何启用原生函数,请参阅本文中的启用原生 函数部分。
借助 NATIVE_DIMENSION
函数,您可以直接将 SQL 写入 Looker Studio 字段。对于未包含在函数列表中但数据库支持的函数,此方法非常有用。
启用原生函数
原生函数默认处于停用状态,并在数据源级别进行管理。
如果您是 Google BigQuery 数据源的所有者,则可以按照以下步骤为数据源启用原生函数:
- 在 Looker 数据洞察中,修改数据源。
- 点击数据源编辑器右上角的原生函数。
- 在原生函数对话框中,选择开启。
- 点击保存。
如果您停用原生函数,任何用户都无法使用原生函数创建字段。此外,如果现有图表使用原生函数引用字段,则会显示错误。
用法示例
NATIVE_DIMENSION("JSON_VALUE('{"name": "Dana"}','$.name')","STRING")
语法
NATIVE_DIMENSION( expression, type )
参数
expression
- 由底层数据集求值的表达式。这可以是任何有效的 Google BigQuery SQL 语句,可放入 SELECT 语句的某个列中。表达式不能包含任何汇总。
type
- 数据类型字面量。如需了解此函数支持的类型,请参阅以下部分。
NATIVE_DIMENSION 类型
您可以从以下类型中进行选择:
类型 | 预期数据 | 报告示例 |
---|---|---|
STRING |
零个或更多个字母、数字、字符或符号。 | |
|
逻辑值。 |
|
|
浮点数。 | 1,234.56 |
|
一个整数。 | 1,234 |
|
日历日期。 | |
|
带时间的日历日期。 | 2020-09-21 12:35 PM |
|
一系列点和多边形,对应于 BigQuery 地理数据类型 。 仅支持 BigQuery 函数 |
POINT(32 210) POLYGON((0 0, 2 2, 2 0, 0 0), (2 2, 3 4, 2 4, 2 2)) |
如果表达式返回时间戳数据类型(例如 BigQuery 的 TIMESTAMP
类型),请使用 CAST
函数将其转换为 DATETIME
类型。例如:
NATIVE_DIMENSION("CAST({ expression } AS DATETIME)", "DATETIME")
NATIVE_DIMENSION 示例
SQL 中的 JSON 函数
假设您的数据包含一个 users_ages_json 字段,其值的格式为 JSON 载荷。此字段的示例行值可能如下所示:
{"name": "Jakob", "age": "26"}
使用 BigQuery 的 JSON_VALUE
函数,使用
NATIVE_DIMENSION
函数从 users_ages_json 检索年龄:
NATIVE_DIMENSION("JSON_VALUE(user_ages_json, '$.age')","INT64")
对于此示例行值,NATIVE_DIMENSION
函数会将年龄
26
作为整数返回。
NATIVE_DIMENSION 的限制
谁可以使用原生函数
如果启用了原生函数,数据源的所有者和编辑者可以在数据源上使用原生函数创建字段。
数据源的查看者可以在图表中使用包含原生函数的字段。不过,查看者无法使用原生函数创建新字段,也无法使用原生函数修改任何字段。
汇总字段
您不能在 expression
参数中添加任何汇总字段。
窗口函数
您不能在 expression
参数中添加任何窗口函数。
混合
您无法对混合数据源使用 NATIVE_DIMENSION
函数创建字段。
不过,您可以在混合之前使用此函数创建字段,然后在混合中使用该字段。
TIMESTAMP 数据类型
如果表达式返回时间戳数据类型(例如 BigQuery 的 TIMESTAMP
类型),请使用
CAST
函数将其转换为 DATETIME 类型。例如:
NATIVE_DIMENSION("CAST({expression} AS DATETIME)", "DATETIME")