SQL数据集概述

<< Click to Display Table of Contents >>

当前位置:  数据准备 > 数据集 > SQL数据集 

SQL数据集概述

复制链接

1.概述

1.1应用场景

创建SQL数据集可以提供所需的数据源。通过编写SQL查询语句,分析师可以轻松地获取所需的数据,并生成报告和可视化图表。

1.2功能简介

SQL数据集不仅支持通过选择表和视图或自定义SQL语句的方式来查询和筛选数据。还支持智能SQL利用大模型的能力帮助用户理解SQL含义,优化SQL性能,辅助用户编写SQL。

2.应用举例

2.1创建一个简单的SQL数据集

1)点击数据集页面左侧顶部的add_icon_zoom70图标,进入新建数据集页面。

2)选择“SQL数据集”,弹出SQL数据集界面。

addsqldataset_zoom46

3)默认“选择表和视图”,选择“测试”数据源、“test”数据库“咖啡”表。

seleccatalog_zoom45

4)点击底部绿色高亮的“刷新数据”按钮,数据刷新完成后,颜色为浅灰色,在右侧可以查看数据详情。

refreshdata1_zoom45

5)点击顶部的“保存按钮”,在弹出的“保存”对话框中,点击右上角的添加图标,新建“数据分析”文件夹,在下方的文件名称中填写文件名“咖啡”。

savesqldataset_zoom45

6)点击“确定”,关闭“保存”对话框后,页面中间会弹出“保存成功”提示。

2.2SQL语句创建数据集并指定参数筛选数据

创建SQL数据集并指定参数筛选日期大于等于2024.01.01的数据。

1)点击数据集页面左侧顶部的add_icon_zoom70图标,进入新建数据集页面。

2)选择“SQL数据集”,弹出SQL数据集界面。

3)选择“自定义SQL语句”,

4)在数据源后方面的下拉选项中,选择已连接的“测试”数据源。

5)选中下方的数据库和表,data.2024,下方的SQL语句输入框中会填写上选择的数据库和表。

6)在填写数据库和表信息前加上select * from关键字。

7)SQL语句填写完成后,点击页面下方的“刷新数据”按钮,刷新和展示左侧的数据集详情如下图所示。

customsqlstatementsetting_zoom45

添加日期参数并设置默认值

8)点击顶部菜单栏【菜单 > 编辑参数 】,在弹出的参数对话框中,点击左上方的的添加图标,参数名称填写为“天”,点击确定,关闭弹框。

9)“天”日期参数默认类型为文本,在类型后面的下拉选项中,点击“高级”,在弹出的“高级”弹框中,选择“日期”,点击“确定”,关闭弹框。        

10)在默认值后面选择“单个值”选项,点击下方的日历图标,选择日期值为“2024.01.01”,关闭弹框后,前方的输入框中填写选择的日期值。

adddateparameter_zoom66

11)点击“确定”,关闭参数设置对话框。

12)在SQL语句输入框已有的语句后加入“天”日期参数,<天> where 日期 = ?{天} </天>。

sqlstatementparametersetting_zoom66

13)点击页面下方的“刷新数据”按钮,刷新左侧的数据集详情,筛选出日期在2024.1.1.后的数据。

sqlstatementdateparameterfillterresult_zoom66

如需了解更多关于SQL语句参数的用法,详情请参考数据集中使用参数 >在SQL语句中

3.功能说明

您可以通过以下两种方式创建SQL数据集:

点击数据集页面左侧顶部的add_icon_zoom70图标,进入新建数据集页面。点击SQL数据集进入创建页面。

queryshot4_zoom80

在已连接的SQL数据源页面,点击顶部菜单栏【新建数据集】,进入连接到该数据源的SQL数据集创建页面。

3.1SQL数据集编辑区域

clip0115_zoom83

SQL数据集编辑区域支持用户编辑数据集所获取的数据由来,具体功能如下:

功能

说明

选择数据源

用户可以从已有的数据源下拉列表中选择已经创建好的数据源。

编辑数据源

若您需要对已有的数据集更换数据源,点击编辑数据源图标可以进入选择的数据源的配置界面。

选择表或视图/自定义SQL语句

选择表或视图:直接使用数据库下的表或视图,无需手动输入。

自定义SQL语句:若您熟悉数据库语句,建议您选择“自定义SQL语句”,可以满足您查询指定条件的数据。

选择表或者输入SQL

根据【选择表或视图/自定义SQL语句】的选择在这里进行相应的设置。

搜索数据库表

您也可以在输入框中输入关键字,可快速查找数据表。

禁止下载

如果勾选禁止下载,则用到此数据集的数据在所有支持数据或报告导出的地方,都不支持导出。同时新增data.download.strict属性,默认是false,勾选“禁止下载”,可以导出图片和PDF。如果设为true,则图片和PDF都不能导出。

clip0116_zoom69

*在显示详细数据弹框上导出数据时,页面会弹出提示信息:操作失败,因为依赖的数据集禁止下载数据。

刷新数据

查询数据完成后,底部“刷新数据”按钮从浅灰色变为高亮绿色,表示已获取到连接数据源的数据。

点击底部高亮绿色的“刷新数据”按钮,获取到最新的数据并在右侧数据详情中展示所有字段。

如果连接的数据源中的数据有变化,如增加或删除数据列,点击该按钮数据会进行同步刷新。

clip0117_zoom70

在表达式、过滤等位置引用的列如果发生变化,刷新数据时会提示 “ 数据集的列如果发生变化可能会导致表达式列、层次或行过滤不可用,是否清空表达式列、层次和行过滤? ”,否则不会提示。本产品默认字符类型、字符串类型、字节类型、布尔类型、日期类型、时间类型、时间戳类型的数据段存放在维度目录下,其他类型数据段存放在度量目录下。

3.2选择表或视图

选择数据源和表或视图后,下方的显示当前数据库中存在的所有表、视图、分析视图(HANA)、计算视图(HANA)、属性视图(HANA)、Cube(Kylin)。

clip0118_zoom68

搜索数据表、视图:在输入框中输入关键字,可快速查找数据表、视图。 您还可以右键“刷新”,可以对数据源中表、视图、存储过程进行搜索。

当鼠标悬浮在表上可以查看到表的描述,即数据库中表别名。

除了SQL数据集中悬浮表显示别名外,在数据源列表、自服务数据集中数据源列表、报表绑定数据中数据源列表上都能够悬浮表进行表别名查看。

说明:

表别名支持的数据库类型:PostgreSQL、DB2、达梦、oracle、mysql、SQLserver,高斯,人大金仓。

tablealisecase

在展示的数据表或视图中,选中所需查询的其中一个,点击“刷新数据”按钮,可在右侧的数据区域看到所需数据。

3.3选择自定义SQL语句

在选择已连接的数据源和自定义SQL语句之后,下方空白区域变成三个部分,上方部分与选择表视图一致,中间部分为SQL语句文本区域,下方部分为内置参数选择区域。

database_dataset_sql_new_custom_sql_zoom63

选择表或视图:选择表或视图的方式后,在下方的显示当前数据库中存在的所有表、视图、分析视图(HANA)、计算视图(HANA)、属性视图(HANA)、Cube(Kylin)。在展示的数据表或视图中,点击表、视图可以在文本域中快速输入对应的表名、视图名。

database_dataset_sql_new_custom_sql_1_zoom66

搜索数据表、视图:在输入框中输入关键字,可快速查找数据表、视图。 您还可以右键“刷新”,可以对数据源中表、视图、存储过程进行搜索。

SQL语句的文本区域:输入查询数据库表的SQL语句。

说明:

o在使用 ACCESS 数据库时,刷出的表名称的后边有 $ 字符,用户在写 SQL 语句时需要使用双引号把该表引起来,如 select Sales from "Coffee_chain$"。在使用 vividime Z-Suite 产品提供的驱动及数据库时,在编写 SQL 语句时需要遵循本产品的 SQL 语句法则。

o引用的数据集存在子级时需要添加双引号,如 select Sales from "cloud/test.clqry",不存在子级时则不需要添加双引号,如 select Sales from test.clqry

o引用关键字时需要加引号。如数据集 a.clqry 中存在 Date 字段,由于 Date 字段是数据库中的关键字,则需要被双引号引起来, select "Date" from test.clqry

o赋值类型为字符串类型时,需要用单引号引起来而不是双引号。如 select Nation from test.clqry where Nation='China'

o在 SYBASE 数据库中不支持 order by 语句。

o如需在SQL语句中查询存储过程,详情可参考自定义SQL语句查询存储过程

选择内置参数区域:查询和筛选数据库中的数据生成数据集,点击常用、日期、文本、数字参数的下拉菜单,在下拉菜单中选择参数后,可快速将参数添加到中间区域的SQL语句中,用法可参考参数示例,如查询“data”数据库下的“2024”表中日期为今天的数据:select * from data.2024 <_THIS_FULL_DAY_> where 日期 = ?{_THIS_FULL_DAY_} </_THIS_FULL_DAY_>。

如需了解内置参数的用法,点击参数后面的注释图标即可查看具体解释。

parameternote_zoom66

如需了解内置参数的详细用法,详情可参考内置参数的使用

填写完成SQL语句后,点击刷新数据按钮即可在右侧数据区域显示数据。

database_dataset_sql_new_custom_sql_refresh_data_zoom45

3.4提升SQL数据集查询性能

如果SQL语句创建集时,连接的数据源是GaussDB200,建议填写Hint语句,提升查询性能。

Hint写法:参考GaussDB200支持的Hint写法。Hint写入后对于查询的影响,也请参考GaussDB200。

在Hint输入框和在SQL里写入Hint的区别:

1)Hint输入框里带有Hint:

如果在Hint输入框里写入Hint,对于SQL数据集和依赖SQL数据集的报告执行(不走自服务数据集逻辑的话),则将此Hint内容放到SQL解析器处理过的SQL的第一个Select的后面。

Hint输入框里的内容由用户输入,格式和内容需要按照Hint写法写入完整,我们只负责将Hint拼入SQL,不做解析校验等任何处理。

2)SQL语句里带有的Hint:

如果直接在SQL语句里写入Hint,则在勾选“性能优化”时也不会尝试去子查询,后续计算产生的SQL全部包子查询处理。

gaussdb200_sql_hint_zoom79

3.5SQL数据集缓存设置

启用:默认为关闭状态,SQL数据的缓存开启需先在【管理系统 > 系统设置】中开启全局缓存设置后才可设置,参考管理系统 > 系统设置 > 全局缓存设置。SQL数据集缓存设置启用后,可设置一段时间内相同查询直接返回缓存结果,该时间段可设置为5分钟、30分钟、1小时、2小时、4小时、12小时、24小时。

自动清除缓存时间:点击启用开关后,可选择一天时间中一个、多个整点时间段自动清除SQL数据集数据缓存库里的缓存。

手动清除缓存:点击启用开关后,点击手动清除缓存,页面右上角提示“清除数据集缓存成功”,即可手动清除SQL数据集数据缓存库里的缓存。

database_sql_cache_settings_zoom50

4.智能SQL

智能SQL是专为数据分析师和数据库管理员设计的高级功能,旨在提升SQL编写的效率与质量。智能SQL利用大模型的能力帮助用户理解SQL含义,优化SQL性能,辅助用户编写SQL。

说明:

智能SQL需要Y+AIGC许可。

购买Y+AIGC后,如果使用OpenAI大模型,需要先访问OpenAI官网,购买AI服务后,再在BI中配置AI服务后使用,配置AI服务参考管理系统 > 系统设置 > 配置AI

4.1 SQL解释

想要快速了解当前SQL语句的执行含义,可直接点击SQL语句编辑区域右上方的“SQL解释”,如下图

ai_sql_explain_zoom60

ai_sql_explain2_zoom46

同时也可以对左侧SQL语句进行编辑,编辑后点击SQL解释中的刷新ai_sql_refresh_zoom80按钮,即可重新获得解释。

4.2 SQL优化建议

如果SQL执行效率不佳,想要优化SQL语句,可直接点击SQL语句编辑区域右上方的“优化建议”,如下图

ai_sql_optimize_zoom60

ai_sql_optimize2_zoom46

可参考优化建议的内容对SQL进行优化。同时也可以对左侧SQL语句进行编辑,编辑后点击优化建议中的刷新ai_sql_refresh_zoom80按钮,即可重新获得SQL优化建议。

4.3 自然语言转SQL

如果对SQL不熟悉,或者想提高SQL编写效率,可直接点击SQL语句编辑区域右上方的“自然语言转SQL”,如下图

ai_sql_ask_zoom60

ai_sql_ask2_zoom46

自然语言转SQL支持通过对话的方式,帮助用户生成完整的SQL语句。

支持持续对话:即支持上下文理解,可通过持续对话修改和完善SQL。

还原到此处:用户可选择还原到当前对话中的任意一步。

重新生成:如果生成的SQL不对或者不满意,可以点击重新生成,系统会根据对话意图重新生成SQL。

重置会话:如果想清除前面对话的影响,即清除上下文关系,则可以选择重置会话,重新开始。

消除歧义:在对话时,如果存在一些有歧义的描述,系统会智能判断出这些歧义,并让用户进行选择。

如下图,由于数据中存在“产品名称”、“产品种类”字段,因此用户提出“产品”时,弹出选择,用户可选择想要查询的内容,点击“确认并继续”,或者重新进行提问。

ai_sql_ask_select_zoom60

ai_sql_ask_select2_zoom60

更多对话技巧和帮助请参提问说明及建议