超级链接
单元格超级链接:关联报表、导出报表、外部网址和动态参数。
在 VeryReport 复杂报表设计器 里,超级链接挂在单元格上。分页预览时点击格子,可以打开另一张报表、下载一份报表、打开外部网址,或只改当前页的参数再查一次。适用角色:报表设计人员。
入口在顶部菜单 插入 → 超级链接。传出去的是实际值,和形态显示值的区别见 单元格形态概述。
1. 在哪里设置
- 打开 数据分析 → 复杂报表,进入设计器。
- 单击要加链接的单元格。
- 顶部菜单 插入 → 超级链接。
- 点 添加链接,填类型和参数,确定后 保存。
- 用 预览 → 分页预览 点击验证。设计器格子上不出现可点的链接。
一个格子可以挂多条。只有一条时,直接点格子里的文字。有两条及以上时,先点开菜单,菜单上是各条的 链接名称。多条时请把名称填上。
2. 四种类型
| 类型 | 预览时做什么 |
|---|---|
| 关联报表 | 带参数打开另一张复杂报表 |
| 导出报表 | 按参数下载目标报表,留在当前页 |
| 外部 URL | 打开填写的网址 |
| 动态参数 | 把参数写进当前页,重新查询,不跳走 |
关联报表 和 外部 URL 要选打开方式:
| 打开方式 | 结果 |
|---|---|
| 当前页 | 本页换成目标。关联报表时,预览顶部出现 返回上一级,可回到进来之前的报表和参数 |
| 新标签 | 另开一页。当前页不动,也没有返回上一级 |
导出报表 的格式可以是 Excel、Excel(原样)、PDF、Word。点下去后提示「正在准备导出」,文件下到本地,一览页还在。
动态参数 要求当前报表已经有同名模板参数。点下去后,参数栏改成新值并重新出数。
3. 参数传实际值
每条链接可以带多组参数。参数名要和目标报表的模板参数一致。值有两种:
| 值类型 | 怎么填 | 点下去传什么 |
|---|---|---|
| 常量 | 直接写死,例如 已结算 | 每次都是这个字 |
| 表达式 | $$$、单元格地址、$参数名 | 按这一行算出来的结果 |
表达式里常用三种写法:
$$$:当前格的实际值。点 当前单元格值 会填上它。- 单元格地址,例如
A3:扩展后同一行里那个格子的实际值。链接不挂在单号格上、而挂在旁边的「查看」上时,用单号所在格的地址。 $参数名:当前报表已经有的参数,例如$p_year。
形态只改看起来的字,不改传出去的值。单号实际值是 BH-240301,就算公式形态显示成 BH-240301(补货),参数里仍是 BH-240301。
4. 示例:从补货单点进货品明细
数据在 VRDemo。补货单表 mall_replenish 里,BH-240301 是雅诗兰黛、采购人沈知夏、状态已结算。货品明细表 mall_replenish_line 里,这一单有两行:小棕瓶精华金额 1960,紫隔离霜金额 378。
先做两张报表。
货品明细(被打开的那张):
- 模板参数名写成
order_no。 - 数据集查询
mall_replenish_line,条件写成order_no = '${order_no}'。 - 把货品名称、数量、金额拖成纵向扩展的明细。
补货单一览(被点击的那张):
- 数据集查询
mall_replenish,单号列纵向扩展。下面把单号所在格当作 A3。 - 选中 A3,插入 → 超级链接 → 添加链接。
- 链接名称填
货品明细。类型选 关联报表。目标报表选刚才的货品明细。打开方式选 当前页。 - 添加参数。参数名
order_no,值类型 表达式,点 当前单元格值,值是$$$。 - 再 添加链接。名称填
导出明细。类型选 导出报表,格式选 Excel,目标报表仍是货品明细。参数同样是order_no、表达式$$$。 - 确定并保存。
分页预览补货单一览:
- 点
BH-240301,出现「货品明细」「导出明细」。 - 选 货品明细:当前页换成这一单的两行货品,小棕瓶精华
1960、紫隔离霜378。顶部 返回上一级 回到一览,参数与进来前一致。 - 选 导出明细:下载这一单的 Excel,一览页留在原地。
打开方式改成 新标签 时,货品明细在新页面打开,一览页不出现返回上一级。
5. 示例:点专柜名只过滤当前页
一览上再加模板参数 counter,数据集增加条件 counter_name = '${counter}'。专柜名那一格加一条超级链接:类型 动态参数,参数名 counter,表达式 $$$。
预览时点「雅诗兰黛」,页面不跳转,参数栏的专柜变为雅诗兰黛,表里只剩沈知夏那几张雅诗兰黛的单,其中包括 BH-240301。
6. 使用时注意
- 关联报表、导出报表必须选目标报表。外部 URL 必须填写网址。参数名不能空着。
- 链接只在分页预览里可点。把这张报表本身导出成 Excel、PDF 或 Word 时,格子上的链接不会带到文件里。
- 导出报表下载的是目标报表按参数算出来的文件,不是把当前屏幕截下来。
