用于数据接入,现支持mysql、elasticsearch、csv文件、静态数据

mysql接入

创建连接

创建连接时会自动验证连接可用性
数据源 - 图2

端口:默认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,多参数需要换行 数据源 - 图3
其它设置:
如用户不配置其它设置,后台默认会加上以下配置
数据库连接url:
autoReconnect=true
useUnicode=true
characterEncoding=utf8
useSSL=false
serverTimezone=GMT%2B8
连接池配置:
initialSize=0 #初始化连接数
minIdle=0 #最小空闲连接
maxActive=8 #最大连接数
注:数据库连接配置全部支持,连接池配置仅支持以上罗列出的

删除连接

数据源 - 图4
删除连接时,可选择仅删除连接、同时删除当前连接的我的数据
仅删除连接:删除时的连接可正常使用时,此连接的我的数据还可正常使用
同时删除我的数据:若此连接的我的数据已用于仪表盘,也可正常使用;未使用的则不可再使用

添加我的数据

  1. 可直接添加某个库下的表/视图,同时选择数据目录,也可以新建目录

数据源 - 图5

  1. 可使用sql 添加我的数据

数据源 - 图6 可输入sql语句,点击运行 查看执行的结果数据及字段类型,查看是否报错,若正常可点击“添加到我的数据” 添加数据集

sql使用说明

  1. 别名字段合法性:字母开头,只能包含数字、字母、下划线
  2. 查询字段不可使用 *
  3. 字段名称有特殊字符、数字 需要使用 ``

select 1,database from table

  1. 常量、方法产生的字段 需要设置别名

select 1 as a
select ‘a’ as a
select count(1) as total from table

  1. 参数变量

可在sql中使用参数变量进行占位,真正在仪表盘内对变量进行赋值(仪表盘设置变量、下拉搜索绑定图表或表的参数变量)
格式: ‘${v1 | 123456}’
必须用双引号,“|” 左侧为变量名称、右侧为我的数据显示时使用的默认值(但不用在仪表盘上,仪表盘需要对参数变量进行赋值)。在使用时,如果参数变量的值为空,执行语句时会去掉参数所在的过滤条件

  1. select app_name,app_desc from app where app_id = '${app_id | 123}';
  2. select sum(num) num,sum(num1) num1 from table where app_id = '${app_id | 0}' group by app_id;
  1. 语句变量 - 可定义sql代码块
    1. 正常:
    2. select (select count(1) from dataview_connection) / (select count(1) from dataview_connection_mysql)
    3. 可视化:
    4. ${sql1} = select count(1) from dataview_connection;
    5. ${sql2} = select count(1) from dataview_connection_mysql;
    6. select ${sql1} / ${sql2} as t1;
  1. 多行语句使用

可输入多行语句,“;”分隔,最终按最后一条返回数据,之前语句都是用于定义变量

  1. token 变量

集成token验证后,sql语句中可直接使用 token解析出来的变量
数据源 - 图7
数据源 - 图8

  1. eval 函数

使用eval 可在执行最终语句前,预先计算当前语句的值,但仅支持单值

  1. ${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}) );
  2. ${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}));
  3. select ((${v2} - ${v1}) / ${v1}) as t1;
  1. 分支语句的支持

支持ifnull,case…when…else,if(condition,exprValue,exprValue)
不支持if, case…when 嵌套

elasticsearch接入

es数据源操作于mysql数据源操作类似

新建连接

数据源 - 图9
http地址 例如 100.10.10.10:9200
超时时间默认30(秒)

连接操作

点击对应连接的操作,可进行依照索引名称查询,连接编辑,连接删除 数据源 - 图10

添加到我的数据

数据源 - 图11 es-sql使用说明

sql说明,请查看Elasticsearch-SQL文档

文件接入

目前仅支持csv文件

文件上传

  1. 文件上传

数据源 - 图12

  1. 文件设置

数据源 - 图13

  1. 文件相关设置

数据源 - 图14
3.1 文件名修改
点击文件名,可以进入编辑模式,进行重命名
3.2 数据列名设置
数据列名会进行特殊符号处理, 除以下符号外均会被去除
保留符号 : ‘_’,’-‘,’(‘,’)’,’#’,’%’,’[‘,’]’,’:’
替换符号 : ‘(’->’(‘,’)’->’)’,’【’->’[‘,’】’->’]’,’,’->’,’ , ‘:’->’:’

数据源 - 图15
3.3 分隔符设置
文件目前仅支持CSV格式,所以默认为 逗号
3.4 文件编码类型设置
读取文档时自动识别,可修改
3.5 跳行设置
可以指定从第N行进行数据读取

  1. 数据列的相关操作

4.1 列名重命名
数据源 - 图16
4.2 字段类型修改 数据源 - 图17
4.3 默认值及空值替换
默认值:将原数据中为null的值 给予默认值
空值替换:将原数据中指定的值替换成null
数据源 - 图18

  1. 保存到文件列表

数据源 - 图19
5.1 同时保存到我到数据
文件数据会存入文件列表 及 我的数据,如果不勾选,只会存入文件列表中
5.2 数据名称
保存到文件列表及我的数据时,该份数据的名称,可修改
5.3 数据目录
可选择已有的数据目录,或点击右侧“添加目录”创建一个新目录
5.4 添加标签
可以为该份数据添加标签

添加到我的数据

  1. 直接添加文件为我的数据

在文件保存到文件列表时,勾选保存到我的数据

  1. 添加sql数据集

在文件列表界面,选中一份数据,通过sql运行,然后保存到我的数据

sql使用说明

可使用sql语句,对文件列表中的文件进行进一步操作,比如union、join等

  1. 文件名称需要使用 ${}

数据源 - 图20

  1. 其余可详见 mysql数据源语句说明及变量使用

    静态数据接入

    可以在仪表盘的图表数据源选择页面进行添加,目前仅支持手动输入和上传csv文件(仅可上传500条以内的数据,大量数据请使用数据源-文件接入)

    静态数据添加

  2. 打开任意仪表盘

  3. 新建图表并点击”打开图标配置详情”按钮(也可以使用已有图表)

数据源 - 图21

  1. 点击切换数据按钮

数据源 - 图22

  1. 点击静态数据

数据源 - 图23
5.手动输入或上传文件,详见下文

手动输入

  1. 输入数据(列名规则同文件上传列名规则)

双击下图中箭头指向未知即可输入,如果已有静态数据,可以点击下方新增按钮,新建静态数据
数据源 - 图24

  1. 更改数据类型(如果数据类型转换失败数据会被删除)

可以依次点击箭头指向位置来更改数据类型,左上角为自动生成的静态数据名称,可以双击更改
数据源 - 图25

  1. 使用静态数据

点击右下方确定按钮,即可使用静态数据
数据源 - 图26

文件上传

  1. 上传文件(上传数据行数不能多于500行,其余规则同文件上传规则)

点击上传数据(CSV)按钮,选择文件后确定
数据源 - 图27

  1. 编辑上传数据

2.1 双击静态数据名称进行修改
2.2 双击列名进行列名修改
2.3 修改字段类型同手动输入修改字段类型
注:如果出现数据乱码问题,可以尝试切换编码
数据源 - 图28

  1. 更改数据

可以双击数据更改数据
数据源 - 图29

  1. 使用文件上传静态数据

点击确定后即可使用
数据源 - 图30
注:如果提示重名,请修改名称后编辑,以免保存失败