AJ-Report 数据源、数据集用法总结
项目地址:https://gitee.com/anji-plus/report数据源配置数据源是获取数据的第一步,项目maven默认只集成了mysql驱动,发行版lib文件夹中集成了oracle、kudu、mssql,若是其他jdbc类型,自行引入相关驱动即可。数据源类型:必填数据源编码:数据库唯一标识,必填。数据源名称:必填通用jdbc数据源驱动类、连接串、用户名、密码必须填写正确。elasti
项目地址:https://gitee.com/anji-plus/report
数据源
配置数据源是获取数据的第一步,项目maven默认只集成了mysql驱动,
发行版lib文件夹中集成了oracle、kudu、mssql,若是其他jdbc类型,自行引入相关驱动即可。
- 数据源类型:必填
- 数据源编码:数据库唯一标识,必填。
- 数据源名称:必填
通用jdbc数据源
驱动类、连接串、用户名、密码必须填写正确。
elasticsearch_sql数据源
目前只支持elasticsearch的x-pack sql。
固定写法:
- 请求路径:http://127.0.0.1:9200/_xpack/sql?format=json
- 请求方式:POST
- 请求头:{“Content-Type”:“application/json”}
- 请求体:{“query”:“select 1”}
HTTP
针对http,最好的返回结果是List<JSONObject>。目前而言,http数据源操作上可能过于繁琐了些。
支持请求路径和请求头中存在动态数据,采用${}方式进行动态替换,具体操作看下面的数据集说明。
ps:请求路径的动态数据可以在点击测试成功后,再改成${}这种形式,可以保存成功。
数据集
根据选中的数据源+查询sql或请求体完成数据的查询。如何写sql不多做介绍,主要介绍查询参数和数据转换。
查询参数
查询参数主要是针对sql中存在的动态参数,需要在后续的大屏使用时动态传入的时候做的操作。http类型数据源支持改请求路径。请求头,请求体内容。
如图所示,查询sql中,定义了两个变量,startTime和endTime。那需要我们在查询参数中添加对应的两个参数。
参数名保持和查询sql中${param}保持一致。
数据类型可以不填,暂时未用到。
查询参数高级规则
高级规则是针对当前行的参数示例值做一个校验。
返回true/false,代表校验字段是否符合要求的成功与失败
返回String,代表通过一段js脚本生成你所需要的参数。
返回其他类型报错!!!
//返回yyyyy-MM-dd类型的当前时间
function verification(data){
//自定义脚本内容
//获取当前时间
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
var nowDate = year + "-" + month + "-" + day;
return nowDate;
}
数据转换
数据转换是在执行完sql之后进行的数据清洗操作。
js脚本
通过自定义js脚本对sql执行的结果
// 根据sql查询出的结果进行数据清洗
function dataTransform(data){
//自定义脚本内容
//1.遍历测试预览中的java.util.ArrayList<java.lang.Object>
for(j = 0, len = data.length; j < len; j++){
//获取一行数据
var row = data[j]
//比如对brand字段进行拆分,例如A-100,B-50
var brand = row['brand']
var split = brand.split('-')
//新增两个字段
var model = split[0]
var series = split[1]
//对原始对象赋值
data[j]['model'] = model
data[j]['series'] = series
}
return data;
}
字典翻译
针对查询结果某一项key值,做一个翻译。
ip转换(javaBean)
暂未用到,可忽略
数据预览
针对此次数据集,进行数据预览,尽量不要使用select * from table,可能数据量过大,超过数据库字段长度限制,保存不了。
大屏如何使用动态数据集,后续会持续更新。
更多推荐
所有评论(0)