Page 1 of 22. Showing 215 results (0.04 seconds)
多数据源配置
MACO报表平台支持将多个数据源中的数据缓存在平台中,并通过“本地数据集”对缓存数据进行二次加工,例如: (1) 上传一个预算数据的Excel,名为“预算表” (2) 通过连接数据库抽取数据建立一个数据表,名为“销售表” (3) 使用本地数据集,编写sql:select t1., t2. from 销售表 t1 left join 预算表 t2 on t1.id=t2.id ,即可将2张表进行二次加工3.4.2 数据源管理
选择 当前报表要使用的数据集 image2019927 17:2:53.png image2019927 17:3:46.png数据集-Http接口(WebService数据源接口集成)
image2019929 9:47:20.png 2.png 【字段URL】数据结构:(name使用数据库字段名规范,支持中文,不支持特殊符号,例如空格 ()() . / $ % & 等等) , , 【数据URL】数据结构 : "AP","20161101",5,"AP","20161102",5,"AP","20161103",5,"AP","20161104",5,"AP","20161001",5,"AP","20161002",5,"AP","20161003",5,"AP","20161004",5,"AP","20151101",5,"AP","20151102",5,"AP","20151103",5,"AP自定义脚本数据源
load("nashorn:mozillacompat.js"); importPackage(com.alibaba.fastjson); importPackage(java.util); var buildColumn = function(name, type) var columns = new JSONArray(); columns.add(buildColumn("time","string"));//时间 columns.add(buildColumn("name","string"));//员工姓名 columns.add(buildColumn("target1","string"));//员工年目标 col日历组件-不用选择数据源.png
创建数据集
创建报表所需数据源,数据来源支持数据库、EXCEL、OLAP、OData、运营魔方、Http接口、自定义脚本、本地数据集。在建立数据表之前,先在“数据连接”中创建数据来源对应的连接。 image20191017 16:2:17.png数据集
用户通过数据集,读取业务数据,对报表使用到的数据源进行抽取,并通过设置维度和度量建立数据模型,创建报表所需数据源集。 目录: 数据集的目录。 数据集:报表数据源的集合,一张报表不能跨数据集取数据源。 1) 创建目录 image20191017 12:43:18.png 2) 在该目录下创建数据集 image20191017 12:43:49.png 3)在数据集下,创建数据表,这里选择Excel image20191017 12:44:28.png image20191017 12:44:46.png 4)创建数据源维度和度量 维度:数据的查询条件,一般为字符串类型,例如:地区、公司、年度、日期等; 度量:指标,为数值类型,例如实时数据表的参数传递
【应用场景】 当表格数据量过大时,可以使用实时数据源的模式,对数据进行查询; 【实现原理】 通过一个过滤器控件(例如下拉框),当过滤器控件的选择项发生变化时,表格的数据被联动,表格控件将参数带入sql,直接向源数据库执行查询请求获取数据。 1.配置表格数据源 image2019124 18:27:20.png 2.配置下拉框数据源 image2019124 18:27:45.png 3.将表格数据源设置为实时 image2019124 18:29:57.png image2019124 18:29:40.png image2019124 18:28:19.png image2019124 18:28:52.png 如果需要判断角色-数据权限
针对角色配置能够读取的数据权限(读取到的维度值),此处设置的范围为指定报表的数据源。 例如:为角色role1配置 只能看到公司字段下“上海公司”,数据权限覆盖指定报表中所有含有公司字段的数据源。 image20191018 14:47:48.png 1. 添加数据权限 image20191018 14:51:34.png 2. 点击“选择字段”,搜索和选择需要赋予权限的字段“公司”。 image20191018 14:52:2.png 3. 该角色只能看到“公司”字段下的“公司1”和“公司2”的值 image20191018 14:52:29.png为数据连接配置实时脚本
【应用场景】 当用户访问报表时,需要根据用户名动态变更数据源的数据库名或是IP地址。 示例脚本 importPackage(java.util); //从session中获取数据库名 var dbName=sessionService.getString("dbName"); var data = new HashMap(); data.put("dbName", dbName); result.setSuccess(true); result.setData(data); 可实时设置的变量: 变量名 值类型 描述 dbName String 数据库名 port int 数据库端口 host String 数据库地址