用于数据接入,现支持mysql、elasticsearch、csv文件、静态数据
mysql接入
创建连接
创建连接时会自动验证连接可用性
端口:默认3306
数据库:默认不设置,加载该连接下所有数据库(系统默认库不显示,eg: mysql数据库 )
如设置多个数据库,用逗号隔开
超时时间:默认30s
可通过高级设置,设置sql_mode、超时时间、jdbc连接其他配置参数
SQL_MODE: 多个逗号分隔
ONLY_FULL_GROUP_BY | 对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中 | |
---|---|---|
NO_AUTO_VALUE_ON_ZERO | 该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户 希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。 | |
STRICT_TRANS_TABLES | 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制 | |
NO_ZERO_IN_DATE | 在严格模式下,不允许日期和月份为零 | |
NO_ZERO_DATE | 设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。 | |
ERROR_FOR_DIVISION_BY_ZERO | 在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL | |
NO_AUTO_CREATE_USER | 禁止GRANT创建密码为空的用户 | |
PIPES_AS_CONCAT | 将”||”视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似 | |
ANSI_QUOTES | 启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符 |
注: ORACLE的sql_mode设置等同:PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER.
其他设置格式:key=value,多参数需要换行
其它设置:
如用户不配置其它设置,后台默认会加上以下配置
数据库连接url:
autoReconnect=true
useUnicode=true
characterEncoding=utf8
useSSL=false
serverTimezone=GMT%2B8
连接池配置:
initialSize=0 #初始化连接数
minIdle=0 #最小空闲连接
maxActive=8 #最大连接数
注:数据库连接配置全部支持,连接池配置仅支持以上罗列出的
删除连接
删除连接时,可选择仅删除连接、同时删除当前连接的我的数据
仅删除连接:删除时的连接可正常使用时,此连接的我的数据还可正常使用
同时删除我的数据:若此连接的我的数据已用于仪表盘,也可正常使用;未使用的则不可再使用
添加我的数据
- 可直接添加某个库下的表/视图,同时选择数据目录,也可以新建目录
- 可使用sql 添加我的数据
可输入sql语句,点击运行 查看执行的结果数据及字段类型,查看是否报错,若正常可点击“添加到我的数据” 添加数据集
sql使用说明
- 别名字段合法性:字母开头,只能包含数字、字母、下划线
- 查询字段不可使用 *
- 字段名称有特殊字符、数字 需要使用 ``
select 1
,database
from table
- 常量、方法产生的字段 需要设置别名
select 1 as a
select ‘a’ as a
select count(1) as total from table
- 参数变量
可在sql中使用参数变量进行占位,真正在仪表盘内对变量进行赋值(仪表盘设置变量、下拉搜索绑定图表或表的参数变量)
格式: ‘${v1 | 123456}’
必须用双引号,“|” 左侧为变量名称、右侧为我的数据显示时使用的默认值(但不用在仪表盘上,仪表盘需要对参数变量进行赋值)。在使用时,如果参数变量的值为空,执行语句时会去掉参数所在的过滤条件
select app_name,app_desc from app where app_id = '${app_id | 123}';
select sum(num) num,sum(num1) num1 from table where app_id = '${app_id | 0}' group by app_id;
- 语句变量 - 可定义sql代码块
正常:
select (select count(1) from dataview_connection) / (select count(1) from dataview_connection_mysql)
可视化:
${sql1} = select count(1) from dataview_connection;
${sql2} = select count(1) from dataview_connection_mysql;
select ${sql1} / ${sql2} as t1;
- 多行语句使用
可输入多行语句,“;”分隔,最终按最后一条返回数据,之前语句都是用于定义变量
- token 变量
集成token验证后,sql语句中可直接使用 token解析出来的变量
- eval 函数
使用eval 可在执行最终语句前,预先计算当前语句的值,但仅支持单值
${v1} = eval(select sum(custom_num) as v1 from custom_last_stat where day = date_sub(curdate(),interval 2 day) and company_id='${companyId}' and department_id in (${departments}) );
${v2} = eval(select ifnull(sum(custom_num),0) as v2 from custom_last_stat where day = date_sub(curdate(),interval 1 day) and company_id='${companyId}' and department_id in (${departments}));
select ((${v2} - ${v1}) / ${v1}) as t1;
- 分支语句的支持
支持ifnull,case…when…else,if(condition,exprValue,exprValue)
不支持if, case…when 嵌套
elasticsearch接入
新建连接
http地址 例如 100.10.10.10:9200
超时时间默认30(秒)
连接操作
点击对应连接的操作,可进行依照索引名称查询,连接编辑,连接删除
添加到我的数据
es-sql使用说明
文件接入
文件上传
- 文件上传
- 文件设置
- 文件相关设置
3.1 文件名修改
点击文件名,可以进入编辑模式,进行重命名
3.2 数据列名设置
数据列名会进行特殊符号处理, 除以下符号外均会被去除
保留符号 : ‘_’,’-‘,’(‘,’)’,’#’,’%’,’[‘,’]’,’:’
替换符号 : ‘(’->’(‘,’)’->’)’,’【’->’[‘,’】’->’]’,’,’->’,’ , ‘:’->’:’
3.3 分隔符设置
文件目前仅支持CSV格式,所以默认为 逗号
3.4 文件编码类型设置
读取文档时自动识别,可修改
3.5 跳行设置
可以指定从第N行进行数据读取
- 数据列的相关操作
4.1 列名重命名
4.2 字段类型修改
4.3 默认值及空值替换
默认值:将原数据中为null的值 给予默认值
空值替换:将原数据中指定的值替换成null
- 保存到文件列表
5.1 同时保存到我到数据
文件数据会存入文件列表 及 我的数据,如果不勾选,只会存入文件列表中
5.2 数据名称
保存到文件列表及我的数据时,该份数据的名称,可修改
5.3 数据目录
可选择已有的数据目录,或点击右侧“添加目录”创建一个新目录
5.4 添加标签
可以为该份数据添加标签
添加到我的数据
- 直接添加文件为我的数据
在文件保存到文件列表时,勾选保存到我的数据
- 添加sql数据集
在文件列表界面,选中一份数据,通过sql运行,然后保存到我的数据
sql使用说明
可使用sql语句,对文件列表中的文件进行进一步操作,比如union、join等
- 文件名称需要使用 ${}
-
静态数据接入
可以在仪表盘的图表数据源选择页面进行添加,目前仅支持手动输入和上传csv文件(仅可上传500条以内的数据,大量数据请使用数据源-文件接入)
静态数据添加
打开任意仪表盘
- 新建图表并点击”打开图标配置详情”按钮(也可以使用已有图表)
- 点击切换数据按钮
- 点击静态数据
手动输入
- 输入数据(列名规则同文件上传列名规则)
双击下图中箭头指向未知即可输入,如果已有静态数据,可以点击下方新增按钮,新建静态数据
- 更改数据类型(如果数据类型转换失败数据会被删除)
可以依次点击箭头指向位置来更改数据类型,左上角为自动生成的静态数据名称,可以双击更改
- 使用静态数据
文件上传
- 上传文件(上传数据行数不能多于500行,其余规则同文件上传规则)
点击上传数据(CSV)按钮,选择文件后确定
- 编辑上传数据
2.1 双击静态数据名称进行修改
2.2 双击列名进行列名修改
2.3 修改字段类型同手动输入修改字段类型
注:如果出现数据乱码问题,可以尝试切换编码
- 更改数据
可以双击数据更改数据
- 使用文件上传静态数据
点击确定后即可使用
注:如果提示重名,请修改名称后编辑,以免保存失败