在 定制管理>资源定制 节点及其目录节点上右键选择 新建查询> 原生SQL查询,或在资源快捷按钮区域选择 数据集 > 原生SQL查询 ,则弹出选择数据源窗口,根据需要选择数据源,则进入定制“原生SQL查询”界面。
“原生SQL查询”界面主要分为以下几个区域:
可选资源区列出了所有可被SQL查询使用的资源。用户只需将各资源拖到相应的区域,如将参数拖拽到where条件下和字段进行关联。
显示别名/名称:该区针对“关系数据源”、“联合数据源”和“指标数据源”下的各资源:表、字段、视图、存储过程、表副本和视图副本,提供了“显示名称”和“显示别名”的功能。默认以“别名”显示。
模糊搜索:我们可以该区最下方的搜索引擎对相关资源快速搜索定位。可以在搜索区输入所需字段的真名或是别名进行模糊搜索。
SQL文本区用于输入SQL语句及其对象。
SQL查询输入的注意事项:
工具栏上放置一些常用功能按钮。
工具栏的按钮说明如下表,对应的功能点击超链接跳转到详细分析:
按钮名称 | 说明 |
保存 | 保存数据集到默认路径。 |
另存为 | 保存数据集到用户指定路径。 |
视图 | 用于区域的显示和隐藏。包含显示/隐藏资源区、显示/隐藏属性区。 |
格式化SQL | 对用户编写的SQL语句按照一定的格式进行展现,便于阅读。 |
对SQL查询的表头进行修改添加,形成多重表头。 | |
调整参数在SQL查询对应的报表中的位置。 | |
把当前数据集的数据结果填充到用户自定义的Excel模板中。 | |
用于设置当前数据集的缓存策略和分页策略。 | |
对新建或修改的数据集进行预览。 | |
查看该数据集的SQL语句。 | |
显示估计的执行计划 | 对数据库内部的SQL执行过程进行的解释。 |
创建临时表 | 基于当前数据集结果集创建临时表,用于进行跨数据源查询。该功能按钮只在当前数据集保存后才可以使用。 |
属性区用于设置查询相关资源的属性。它主要包含两个部分:查询输出区和属性面板。
在查询输出区会列出所有的输出字段。如下图,选中字段,在下面属性区可以对部分属性进行设置。
下面是对字段属性的详细说明:
对象 | 设置项 | 说明 |
输出字段 | 标识 | 字段的全局唯一标识,由字段类型和其ID号共同构成。不允许重新设置。 |
名称 | 字段的真名。不允许重新设置。 | |
别名 | 字段的别名,即显示的名字。允许重新设置。 | |
描述 | 对字段的相关描述,被用于其提示信息中。允许重新设置。 | |
数据类型 | 字段的数据类型,主要包含:整数、浮点、字符串、日期、时间、日期时间、文本、对象、集合。允许重新设置。 | |
数据格式 | 根据数据类型选择输出字段的数据格式,该格式选项在“数据格式”中进行设置。允许重新设置。 | |
排序 | 选择是否对字段进行排序,字段的排序方式类型有:升序、降序。 | |
转换规则 | 选择是否对该字段进行转换规则,若设置转换规则,其所选的转换规则在“转换规则”中定义。 |
新建的原生SQL查询,必须要设置检测输出字段,否则在右侧"查询输出"面板上"输出字段"下的字段显示成了问号。
示例说明:
1、如下图所示,新建一个"原生SQL查询",我们可以看到右侧的"查询输出"面板上"输出字段"下并没有把所有的字段列出来,而是显示成了一个问号。同时在"预览数据"时,看到的表格上也只有一列,列名也是问号。
2、 我们在SQL编辑器中可能会输入复杂的SQL语句,Smartbi自身是无法解析SQL语句并自动判断有哪些输出字段的。它只能利用数据库的功能,先去执行该SQL语句,根据数据库返回的结果集来判断有哪些输出字段。因此,我们需要在"输出字段"节点上点击鼠标右键,然后点击"检测输出字段"菜单项。
待输入的SQL语句执行成功后,在"输出字段"节点下,就会列出所有的字段。选择某字段,可以设置别名、数据格式,以及其他各种属性。