技术标签: java
一、报表数据集
1、SQL数据集:
步骤1.点击“数据集管理 ->SQL数据集”
步骤2.新建sql数据源
步骤3.点击维护按钮
步骤4.点击新增按钮
步骤5.填写连接信息,然后点击测试按钮,出现数据库连接成功,点击确定即可
步骤6.选择数据源,下拉框(标注1)选择一个数据源,会再自动展示数据源下的所有表,标注2
步骤7.解析数据集,在“报表SQL”中输入SQL语句,点击“SQL解析”按钮,“动态报表配置明细”中,就会显示解析的字段;
在“数据预览”中显示表内容;再输入“编码”和“名称”,完成SQL数据集添加
2、API数据集:
步骤1.点击“数据集管理 ->API数据集”
步骤2.进入数据集设计界面
步骤3. 在“API地址”中输入API地址,点击“API解析”,“报表字段明细”中,就会显示解析的字段,再输入“编码”和“名称”,完成API数据源添加;
二、报表分组设置
1、 纵向分组使用:
PS:对同一列中相同内容的单元格合并处理
步骤1.列表数据
步骤2.选中年级的数据单元格,右侧分组配置中,聚合方式选择分组,扩展方向选择纵向,同样方式处理班级
步骤3.分组后效果
2、 纵向分组注意点:
PS:分组有先后顺序
步骤4.将编号设置为纵向分组,查看结果,发现年级和班级的分组效果都没有了。
综上:分组有先后顺序,分组分完了,意味着数据就到不同组里去了,不同组的数据无法继续合并单元格。
3、 横向分组使用:
PS:内容横向分组,使用“分组—>横向”这种方式实现不了,只可使用 #{数集.customGroup(字段名)} 这种形式
步骤1.选中需要进行横向分组的单元格,找到自定义横向分组选项,点击设定
步骤2.分组后效果
4、 纵向分组小计:
步骤1.设置分组依据
步骤2.设置计算字段
步骤3.合计效果
5、 横向分组小计:
步骤1.计算方法
或者
步骤2.合计效果
三、报表钻取
1、报表钻取使用:
示例:点击 教师名字 根据不同条件跳转到不同的报表
跳转条件如下:
当教师年龄大于32的时候跳转至学生信息报表
当教师年龄等于32的时候跳转到班级信息报表
步骤1.创建一个sql的数据集,查询教师信息,名称为教师信息
步骤2.拖拽字段到设计器页面并设置样式
步骤3.教师信息报表预览
步骤4.根据老师ID teacherId,查询老师名下负责的班级表信息,名称为班级信息
步骤5.拖拽字段到设计器页面并设置样式
步骤6.班级信息报表预览
步骤7.根据老师ID teacherId,查询老师负责的学生表信息,名称为学生信息
步骤8.拖拽字段到设计器页面并设置样式
步骤9.学生信息报表预览
步骤10.给教师报表的字段#{teacher.name}添加钻取超链接
步骤11.给教师报表的字段 #{teacher.name}添加钻取链接,名称为钻取到学生信息
a.链接名称:填写此链接名称
b.链接报表:选择此链接需要跳转的报表 —“学生信息”
c.弹出方式:选择弹出方式;支持新窗口打开和当前窗口打开
d.条件:满足时才会跳转到报表—当age大于32的时候才会跳转到学生信息
e.参数设置说明:
原始参数—“id”为“教师信息”中的教师id
映射参数—“teacherId”为传至“学生信息”中的参数teacherId
步骤12.再为#{teacher.name}添加第二个报表钻取超链接,名称为钻取到班级信息
参数设置说明:原始参数值也可以采用表达式=B1或=B方式;如我们想要将teacherId传递过去,那么就可以写teacherId所对应的列=B;
步骤13.钻取效果(**钻取到班级信息**)
步骤14.钻取效果(**钻取到学生信息**)
四、主子报表
1、主子表SQL数据源:
PS:报表包含了一片或者多片区域,每一片区域展示不同的数据,通过主子报表的关联,数据动态显示
步骤1.创建主表数据源,部门信息
步骤2.创建子表数据源,员工信息
步骤3.将主表、子表字段拖拽到设计器页面
步骤4.主子报表参数设置
a.名称:随意填写 部门员工信息详情
b.主表数据源:主数据源对应的名称部门
c.子表数据源:子数据源对应的名称员工
d.参数传递:
子表参数:子数据源员工的参数;
主表字段:主数据源部门对应的字段
步骤5.主子表效果
五、数据字典配置
1、系统字典编码:
步骤1.点击设计页面的”添加数据字典”,进入添加数据字典页面
步骤2.点击数据字典页面中的“添加”按钮,添加字典基本信息
步骤3.点击数据字典页面中的“字典配置”按钮,进入数据字典配置列表
a.名称:字典解析后显示的名称;
b.数据值:字典需要把数据库或API中的那些值解析,对应的值;
c.描述:简单介绍一下这个字段的用途,方便后期或团队协助查看;
d.是否启用:是否使用该字段开关
步骤4.前端使用,在字典code中直接填写字典编码即可
2、API字典:
步骤1.需要get请求数据接口,返回数据JSON格式如下:
步骤2.接口代码示例:
步骤3.前台需要做的配置,点开api数据集或sql数据集,在报表字段明细或报表参数中找到要配置的字段,将API地址添加到“字典code”中,勾选“查询”,“查询模式”选择为“多选查询”或“单选查询”即可;
PS:如果为外部路径则需要加http或https全路径
步骤4.API字典效果:
六、报表查询配置
1、文本输入框:
步骤1.查询模式为空或选择输入框时,查询条件中为输入框查询
步骤2.效果:
2、下拉单选(带搜索):
步骤1.查询模式选择下拉单选,可设置默认值
步骤2.效果:
3、下拉多选(带搜索):
步骤1.查询模式选择下拉多选
步骤2.效果:
4、范围查询:
PS:参数不支持范围查询
步骤1.以日期为例,类型选择日期类型或者数值类型,查询模式选择范围查询
步骤2.效果:
5、模糊查询:
步骤1.配置--查询模式选择模糊查询
步骤2.效果:
文章浏览阅读1.3k次,点赞40次,收藏19次。虽然你不能直接计算每个房间的人数,但通过马尔科夫链的蒙特卡洛方法,你可以从任意状态(房间)开始采样,并最终收敛到目标分布(人数分布)。然后,根据一个规则(假设转移概率是基于房间的人数,人数较多的房间具有较高的转移概率),你随机选择一个相邻的房间作为下一个状态。比如在巨大城堡,里面有很多房间,找到每个房间里的人数分布情况(每个房间被访问的次数),但是你不能一次进入所有的房间并计数。但是,当你重复这个过程很多次时,你会发现你更有可能停留在人数更多的房间,而在人数较少的房间停留的次数较少。_马尔科夫链期望怎么求
文章浏览阅读3.9k次。一、su命令su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。命令su的格式为:su [-] username1、后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。 ‘-‘ 这个字符的作用是,加上后会初始化当前用户的各种环境变量。下面看下加‘-’和不加‘-’的区别:root用户切换到普通..._限制su root登陆
文章浏览阅读1.2k次。精通VC与Matlab联合编程(六)作者:邓科下载源代码浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程 Matlab C/C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C/C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数_精通vc和matlab联合编程 六
文章浏览阅读128次。在MVC2中默认并没有实现DescriptionAttribute(虽然可以找到这个属性,通过阅读MVC源码,发现并没有实现方法),这很不方便,特别是我们使用EditorForModel的时候,我们需要对字段进行简要的介绍,下面来扩展这个属性。新建类 DescriptionMetadataProvider然后重写DataAnnotationsModelMetadataPro..._asp.net mvc 模型description
文章浏览阅读1.3k次。一.概述 本篇继续探讨web应用架构,讲基于DDD风格下最初的领域模型架构,不同于DDD风格下CQRS架构,二者架构主要区别是领域层的变化。 架构的演变是从领域模型到C..._eshoponweb
文章浏览阅读2.6w次,点赞23次,收藏85次。首先说明,本人之前没用过zookeeper、kafka等,尚硅谷十几个小时的教程实在没有耐心看,现在我也不知道分区、副本之类的概念。用kafka只是听说他比RabbitMQ快,我也是昨天晚上刚使用,下文中若有讲错的地方或者我的理解与它的本质有偏差的地方请包涵。此文背景的环境是windows,linux流程也差不多。 官网下载kafka,选择Binary downloads Apache Kafka 解压在D盘下或者什么地方,注意不要放在桌面等绝对路径太长的地方 打开conf_springboot kafka
文章浏览阅读1k次。编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印,但发布到网站那边运行,可能是一闪而过,连提示安装ActiveX控件也没有,甚至相关的功能图标都不能正常显示,再点"打印图标"也是没反应解决方法是: 1.先下载"PrintControl.cab" http://support.businessobjects.c_水晶报表 不能打印
文章浏览阅读1.3k次。绝大部分UC/OS-II的源码是用移植性很强的ANSI C写的。也就是说某产品可以只使用很少几个UC/OS-II调用,而另一个产品则使用了几乎所有UC/OS-II的功能,这样可以减少产品中的UC/OS-II所需的存储器空间(RAM和ROM)。UC/OS-II是为嵌入式应用而设计的,这就意味着,只要用户有固化手段(C编译、连接、下载和固化), UC/OS-II可以嵌入到用户的产品中成为产品的一部分。1998年uC/OS-II,目前的版本uC/OS -II V2.61,2.72。1.UC/OS-Ⅱ简介。_ucos
文章浏览阅读614次,点赞22次,收藏11次。大家好,本文将围绕python自动化运维需要掌握的技能展开说明,python自动化运维从入门到精通是一个很多人都想弄明白的事情,想搞清楚python自动化运维快速入门 pdf需要先了解以下几个事情。这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。_运维学python该学些什么
文章浏览阅读524次。2019独角兽企业重金招聘Python工程师标准>>> ..._hotfix for msxml 4.0 service pack 2 - kb832414
文章浏览阅读546次。python和易语言的脚本哪门更实用?_易语言还是python适合辅助
文章浏览阅读134次。详解redis中的锁以及使用场景,指令,事务,分布式,命令,时间详解redis中的锁以及使用场景易采站长站,站长之家为您整理了详解redis中的锁以及使用场景的相关内容。分布式锁什么是分布式锁?分布式锁是控制分布式系统之间同步访问共享资源的一种方式。为什么要使用分布式锁? 为了保证共享资源的数据一致性。什么场景下使用分布式锁? 数据重要且要保证一致性如何实现分布式锁?主要介绍使用redis来实..._redis setnx watch