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