NATIVE_DIMENSION

原生函数默认处于停用状态。如需了解如何启用原生函数,请参阅本文中的启用原生 函数部分。

借助 NATIVE_DIMENSION 函数,您可以直接将 SQL 写入 Looker Studio 字段。对于未包含在函数列表中但数据库支持的函数,此方法非常有用。

启用原生函数

原生函数默认处于停用状态,并在数据源级别进行管理。

如果您是 Google BigQuery 数据源的所有者,则可以按照以下步骤为数据源启用原生函数:

  1. 在 Looker 数据洞察中,修改数据源
  2. 点击数据源编辑器右上角的原生函数
  3. 原生函数对话框中,选择开启
  4. 点击保存

如果您停用原生函数,任何用户都无法使用原生函数创建字段。此外,如果现有图表使用原生函数引用字段,则会显示错误。

用法示例

NATIVE_DIMENSION("JSON_VALUE('{"name": "Dana"}','$.name')","STRING")

语法

NATIVE_DIMENSION( expression, type )

参数

expression - 由底层数据集求值的表达式。这可以是任何有效的 Google BigQuery SQL 语句,可放入 SELECT 语句的某个列中。表达式不能包含任何汇总。

type - 数据类型字面量。如需了解此函数支持的类型,请参阅以下部分。

NATIVE_DIMENSION 类型

您可以从以下类型中进行选择:

类型 预期数据 报告示例
STRING 零个或更多个字母、数字、字符或符号。

A1B2C3

BOOL

逻辑值。

true

false

DOUBLE 浮点数。 1,234.56
INT64 一个整数。 1,234
DATE 日历日期。

2020-09-21

DATETIME 带时间的日历日期。 2020-09-21 12:35 PM
GEOGRAPHY

一系列点和多边形,对应于 BigQuery 地理数据类型

仅支持 BigQuery 函数 POINT POLYGON

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")