介绍:钻取是指沿着层次结构,进入展现不同数据的其他维度,变换分析数据的粒度。钻取分为下钻(Drill-down)和上钻(Drill-up) >下钻是沿着数据的维度向下,在更小的粒度上查看更详细的数据。积木报表目前支持根据不同条件,跳转至不同报表并传递参数。下面就让我们来看一下如何实现报表根据条件进行钻取吧。 [TOC] # 报表条件钻取 ## 钻取效果 > 示例:点击 教师名字 根据不同条件跳转到不同的报表 跳转条件如下: * `当教师年龄大于32的时候跳转至学生信息报表` * `当教师年龄等于32的时候跳转到班级信息报表` ![](https://img.kancloud.cn/43/dd/43dd87ca52f36d919426ef4cc850703a_955x972.png) ## 配置步骤如下 ### 1.设计一个数据报表,名字叫 `教师报表` > 创建一个教师表,有三个字段:教师ID、教师名称、教师年龄 ![](https://img.kancloud.cn/47/20/4720ffa67f1cb8bc41e9576e64eb7f2f_1255x102.png) #### 1.1 给`教师报表` 创建SQL数据源 创建一个sql的数据集,查询教师信息 ,设置编码为`teacher`,名称为教师信息 ![](https://img.kancloud.cn/c2/41/c24104c93302bccea346d6f45fb3dfe0_1897x894.png) #### 1.2 拖拽字段到设计器页面并设置样式 ![](https://img.kancloud.cn/f1/88/f1888cf4dbf8ef3363fc6f85eccd68fa_1920x614.png) 预览效果 ![](https://img.kancloud.cn/a8/7b/a87bcf1bee40e2e9ecf40ce2b189116b_1914x972.png) ### 2. 再设计一个数据报表 `班级报表` > 创建一个班级表,有四个字段:班级ID、教师ID、班级名称、总人数 ![](https://img.kancloud.cn/db/65/db65211159d0b8ee4039bb4d7ad80ddf_1248x132.png) #### 3.1 添加班级数据源 根据老师ID `teacherId`,查询老师名下负责的班级表信息 ,设置编码为`class`,名称为班级信息 重点说明:此报表有参数,参数规则可以参考 [SQL数据源报表带参制作](http://report.jeecg.com/2020090) ![](https://img.kancloud.cn/7a/8e/7a8ec602ea56bc7af9337e8fdc7718ec_1903x897.png) #### 3.2 拖拽字段到设计器页面并设置样式 ![](https://img.kancloud.cn/4a/22/4a229904cb2feb48e8a2cd70649878ad_1920x611.png) 预览效果 ![](https://img.kancloud.cn/a9/48/a9483b5189005683c384ad9cbb48fdfc_1914x972.png) ### 4.最后再设计一个数据报表 `学生报表` > 创建一个学生表,主要有四个字段:学生ID、学生名称、学生性别、教师ID ![](https://img.kancloud.cn/57/0e/570ef7d9bfe595b0658a43a9d4f2a6d9_1253x133.png) #### 4.1 添加学生数据源 根据老师ID`teacherId`查询老师负责的学生表信息,编码为`student`,名称为学生信息 重点说明:此报表有参数,参数规则可以参考 [SQL数据源报表带参制作](http://report.jeecg.com/2020090) ![](https://img.kancloud.cn/ba/87/ba877ba4c1c5795889dc10796c8a3a79_1919x886.png) #### 4.2 拖拽字段到设计器页面并设置样式 ![](https://img.kancloud.cn/aa/b0/aab0bb15199c2067e41dc5ab16ee618a_1918x618.png) 预览效果 ![](https://img.kancloud.cn/f0/10/f0109b2bb7257bbba0f9e9ed61c4276e_1914x972.png) ### 5.重点来了,如何实现钻取的关键-> 添加超级链接 #### 5.1 给`教师报表`的字段`#{teacher.name}`添加钻取超链接 >创建两个报表`钻取超链接`并赋予条件,让它们分别钻取到`学生信息报表`和`班级信息报表` ![](https://img.kancloud.cn/39/58/3958763e9077f1baac68589cca0a9b1a_1920x898.png) ##### 5.1.1 给`教师报表`的字段 `#{teacher.name}`添加钻取链接,名称为`钻取到学生信息` * 链接名称:填写此链接名称`不重要-随意填写` * 链接报表:选择此链接需要跳转的报表 —`“学生信息”` * 弹出方式:选择弹出方式;支持新窗口打开和当前窗口打开 * 条件:满足时才会跳转到报表—当教师年龄(`age`)大于32的时候才会跳转到学生信息 参数设置说明: >点击`“教师名称”`通过`“教师编号”`跳转至下级钻取报表`“学生信息”`。 >原始参数值可使用下拉框选择数据集字段;学生信息映射参数使用下拉框选择字段的方式; * 原始参数—“id”为`“教师信息”`中的教师`id` * 映射参数—“teacherId”为传至`“学生信息”`中的参数`teacherId` ![](https://img.kancloud.cn/17/ba/17ba8ce1c11ea8a151a7d0372d416d88_1920x751.png) ##### 5.1.2 再为`#{teacher.name}`添加第二个报表钻取超链接,名称为`钻取到班级信息` 参数配置说明 >原始参数值也可以采用表达式=B1或=B方式;如我们想要将`teacherId`传递过去,那么就可以写`teacherId`所对应的列=B; ![](https://img.kancloud.cn/31/98/31980d2118ad26d76d634717427f8228_1920x903.png) 设计好后直接保存预览 ![](https://img.kancloud.cn/cc/ab/ccab3dcec0066ee649791f72ac1325b9_1914x972.png) ## 附录 #### 1、钻取条件赋值规则 详见 [钻取联动条件规则](http://report.jeecg.com/2665167)