文档首页 / 报表链接与钻取

报表链接与钻取

说明「报表链接」的两种钻取目标(本模板子报表、另一张报表)、打开方式、参数传递规则,以及层数与循环限制,并以科室钻取示例演示。

概述

「报表链接」用于从汇总数据钻取到明细。点击汇总单元格后,把该行的关键值作为参数传给目标报表,目标报表据此只显示对应明细。

钻取目标有两种:

  • 「本模板的子报表」:目标是同一个模板里定义的子报表,不需要另存文件。
  • 「另一张报表」:目标是报表管理中的另一个报表文件。

功能入口

设计器 > 选中单元格 > 「单元格属性」面板 > 「链接」页签 > 「添加链接」 > 「报表链接」。

属性说明

属性 说明 取值/默认值
「链接名称」 链接在列表和多链接菜单中的名称,必填 默认「报表链接」
「钻取目标」 钻取到哪里 「另一张报表」/「本模板的子报表」
「报表文件」 目标报表文件,点击「选择文件」选择;选定后可点「预览」「设计」查看目标 钻取目标为「另一张报表」时必填
「子报表」 从本模板内的子报表中选择,或点击「新建子报表」 钻取目标为「本模板的子报表」时必填
「浏览方式」 目标报表的展示方式 默认「分页展示浏览」,另有「全部展示浏览」
「打开方式」 目标报表在哪里显示 默认「新窗口」,另有「当前窗口」「新对话框」
「标题」 「当前窗口」「新对话框」的标题,可选「文本」或「表达式」 默认「文本」;为空时依次取目标文件名、链接名称,均无则为「明细」
「尺寸」 「打开方式」为「新对话框」时显示 默认「自适应内容」,另有「固定」「最大化」
「最小宽度」/「宽度」 对话框宽度;「自适应内容」下为最小宽度,放不下时向外扩展 如 800px、90%;默认 800px
「高度」 对话框高度,「最大化」时不显示 如 600px、70%;默认 600px
「显示查询面板」 目标报表是否显示查询表单 默认勾选
「继承报表参数」 是否把当前报表查询表单的值一并传给目标报表 默认不勾选
「参数配置」 传给目标报表的参数,取值方式见单元格链接概述 可为空

「尺寸」的三个取值:「自适应内容」把宽度当作下限;「固定」严格按宽高显示;「最大化」打开即全屏。

操作步骤

钻取到另一张报表

  1. 先把目标报表设计好,并为它声明接收明细条件的参数,例如 deptCode,在目标报表的数据集条件或表达式中使用。
  2. 在汇总报表中选中要点击的单元格,添加「报表链接」,「钻取目标」选「另一张报表」。
  3. 点击「选择文件」选定目标报表。
  4. 点击「读取目标模板参数」,参数表中出现目标报表已声明的参数,为每个参数选择「值」:例如「取本行字段」选 科室代码。
  5. 选择「打开方式」和「浏览方式」,点击「确定」并保存。

钻取到本模板的子报表

  1. 添加「报表链接」,「钻取目标」选「本模板的子报表」。
  2. 点击「新建子报表」,新建后可在设计器底部页签条中进入编辑;已有子报表可在「子报表」下拉框中选择。
  3. 子报表使用的数据集要带参数,并把参数值绑到单元格;否则每一行钻下去看到的是同一份数据(设计器对话框中有同样提示)。
  4. 在链接的「参数配置」中给子报表的参数赋值,点击「确定」并保存。

参数如何传递

  • 打开目标报表时,先取「继承报表参数」勾选时当前查询表单的值,再叠加链接「参数配置」中的参数;同名时以链接中的参数为准。
  • 「新窗口」方式(登录模式下):新标签页打开 /report-view/<目标报表ID>,参数以 JSON 写入 URL 的 parameters 参数,同时携带 search=true,含义见报表预览与查看参数。
  • 「当前窗口」「新对话框」:在当前页面内嵌一个目标报表,不使用 iframe,也不改地址栏;「当前窗口」为全屏遮罩层并带返回,「新对话框」为弹窗。
  • 通过公开链接或第三方嵌入访问时,「新窗口」也会降级为页内全屏遮罩层,因为新标签页拿不到访问会话。
  • 「本模板的子报表」始终以弹窗方式打开。

层数与循环限制

  • 最多连续钻取 3 层,超过时提示「最多只能连续钻取 3 层」。
  • 目标报表已在当前钻取路径中时,提示「该报表已在当前钻取路径中,不能循环钻取」;子报表钻取的提示为「该子报表已在当前钻取路径中,不能循环钻取」。

示例

系统初始化后自带示例报表「科室钻取示例」,随产品分发(源文件目录为 demo/reports/特性示例),数据集为内置数据集,不依赖外部数据源。

  1. 在报表管理中按名称找到「科室钻取示例」,点击「预览」。报表按科室汇总显示门诊人次和收入,共内科、外科、儿科、妇产科 4 个科室。
  2. 在设计器中选中「科室」列的单元格 A4,打开「链接」页签,可以看到名为「科室明细」的「报表链接」。
  3. 双击该链接查看配置:「钻取目标」为「本模板的子报表」,子报表名为「科室明细」;「打开方式」为「新对话框」,标题「科室就诊明细」,宽 900px、高 420px;不勾选「显示查询面板」和「继承报表参数」。
  4. 参数配置有两行:dept 的值是表达式 A4(当前科室名),deptCode 的值是表达式 $$record.科室代码。
  5. 在预览页点击「内科」,弹出「科室就诊明细」对话框。首行显示 科室:内科(代码 1001),下方列出该科室的就诊日期、患者、项目、金额(元),末行「小计」为金额合计。子报表的就诊明细数据集以条件「科室代码 等于 参数 deptCode」过滤。
  6. 关闭后点击其他科室,得到对应科室的明细。

注意事项

注意:参数名要与目标报表中声明的参数一致,否则传过去不生效。

提示:「显示查询面板」不勾选时,目标报表的查询表单隐藏,用户只能看到传入条件对应的明细。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。