创建和管理仪表板数据集

本文介绍如何使用 AI/BI 仪表板中的数据集编辑器创建和管理仪表板数据集。

定义数据集

若要定义或访问现有数据集,请单击仪表板左上角附近的 数据 选项卡。 每个仪表板最多可以定义 100 个数据集。

可以将数据集定义为:

  • 针对一个或多个表或视图的新查询。
  • 现有的 Unity Catalog 表或视图。

所有数据集都由一个查询定义。 当你选择现有 Unity Catalog 表或视图时,针对该数据集的查询是对该表或视图的 SELECT * 语句。 可修改该查询以优化数据集。

数据集必须由可以嵌入到其他SQL语句中的查询生成。 DESCRIBEEXPLAIN 等命令的输出在数据集中无效。 此外,仪表板查询是只读的,因此不支持修改数据(例如 CREATE TABLEINSERTDELETE)的语句。

定义数据集后,使用数据集名称右侧的 Kebab 菜单 烤肉串菜单来访问以下选项:

  • 重命名: 为数据集提供描述性名称,以便你和你的团队可以快速识别要编辑或审阅的查询。

  • 建议名称: 根据查询自动生成建议的名称。 可以在生成此名称后对其进行编辑。

  • 克隆:创建查询的就地副本。 克隆查询后,可以对其进行编辑。

  • 删除: 删除数据集。 如果在画布上使用数据集,则此选项不可用。

  • 下载: 可以将数据集下载为 CSV、TSV 或 Excel 文件。

    菜单显示数据集选项

注释

画布上当前使用的数据集以带有蓝色图标的粗体文本显示,而未使用的数据集具有灰色图标和非加粗名称。

查看“结果”表

创建数据集时,该查询自动运行,结果在编辑器下方的窗格中显示为表格。 每列都包含一个指示其数据类型的图标。

对列值进行排序:

  • 将鼠标悬停在每列上以显示 排序图标 排序图标。
  • 单击图标以升序或降序对值进行排序。

查看查询结果架构

要查看已定义数据集的架构,请单击“结果表”右侧的“架构”。 “架构”选项卡列出了已定义数据集中的所有字段。 每个字段都标有一个表示列数据类型的图标。 如果基础表或视图包含评论,它们显示在“架构”选项卡中。

计算度量值

计算度量值提供了一种将计算应用于现有数据集的方法,而无需修改创建数据集的 SQL。 若要详细了解如何创建和使用计算度量值,请参阅 什么是计算度量值?

编写多语句查询

在某些情况下,你可能想要使用多条 SQL 语句构造数据集。 若要运行多条语句,请使用分号 (;) 结束每条语句。 当你运行这些命令以创建数据集时,输出显示编辑器中最后一条语句的结果。 此数据集用于画布上的任何相关可视化效果。

语句仅对发出它们的数据集有效。 例如,如果你使用 USE 语句创建数据集以设置目录或架构,该设置仅适用于该数据集。

示例

以下示例展示了多语句查询的常见用途。

设置目录和架构

可编写一条 USE 语句以声明查询中表的目录和架构。 以下查询包含三条语句。 第一条设置目录名称。 第二条设置架构。 由于已设置目录和架构,因此 SELECT 语句仅引用表名。 请参阅 USE CATALOG


USE CATALOG samples;
USE SCHEMA tpch;
SELECT * FROM customer;

设置 ANSI 模式

可以将查询设置为在 ANSI_MODE 设置为 TRUEFALSE 的情况下运行。 对于 Databricks SQL,ANSI_MODE 的系统默认值为 TRUE。 请参阅 ANSI_MODE

以下查询将 ANSI_MODE 设置为 FALSE,使无效的数据类型输入返回 NULL,而不是引发错误。

SET ANSI_MODE = FALSE;
SELECT cast('a' AS INTEGER);

将复杂查询参数化

可使用多条语句将公用表表达式或其他复杂查询的视图名称参数化。

以下查询创建两个临时视图。 SELECT 语句使用 IDENTIFIER 子句将输入字符串解释为表名。 请参阅 IDENTIFIER 子句

CREATE TEMPORARY VIEW v1 AS SELECT 1;
CREATE TEMPORARY VIEW v2 AS SELECT 2;
SELECT * FROM IDENTIFIER(:view_name)

设置变量

以下查询在第一条语句中声明一个变量和值。 第二条语句更改变量的值。 第三条语句会显示该变量的结束值为 5。 有关使用临时变量的详细信息和完整语法,请参阅 SET VARIABLE

DECLARE VARIABLE myvar1 INT DEFAULT 7;
SET VAR myvar1 = 5;
VALUES (myvar1);

使用 SQL 限制数据访问

仪表板查看器可以访问数据集中的所有数据,即使它未显示在可视化效果中。 若要防止在浏览器中公开敏感数据,请限制定义数据集的 SQL 查询中的列。 例如,不要从表中选择所有列,而只包括可视化效果所需的特定字段。