文章目录

  • 基本思路
  • 素材
  • 实现方案
  • 1、源报表设置
  • 第一步、添加网络报表
  • 2、目标报表设置
  • 第一步、添加网络报表
  • 3、测试跳转



最近有个需求,想实现从一张报表跳转到另一张报表,即从商品销量汇总表跳到商品销量明细表,记录下来,方便备查。

基本思路

将第一张表选择单元格的关键信息,作为条件传递给第二张报表。帆软支持配置链接。

素材

原始报表-商品销量汇总表(rpt_order_sub.cpt)如下图所示。

帆软报表连接MONGODB数据库 帆软报表传参_参数传递


目标表-商品销量明细表(rpt_order_item.cpt),如下图所示。

帆软报表连接MONGODB数据库 帆软报表传参_SQL_02


需求:

点击 商品销量汇总表中的商品ID,可跳转到新报表,查看该商品ID的所有明细,同时可以返回。

实现方案

1、源报表设置

绑定SQL如下所示。

SELECT
	sku_id,
	spu_id,
	sku_name,
	goods_type,
	sum(sku_num),
	create_time,
	update_time
FROM
	tb_order_item
WHERE
    	1 = 1
	and date_format(create_time,'%Y-%m-%d') >= '${beginDate}'
	AND date_format(create_time,'%Y-%m-%d') <= '${endDate}'
	 group by sku_id
	order by goods_type,sku_id desc

第一步、添加网络报表

选中 商品销量 单元格,在右侧编辑栏,添加链接 -> 网络报表

帆软报表连接MONGODB数据库 帆软报表传参_帆软报表连接MONGODB数据库_03


在弹出的编辑页面,选择 跳转前往的目标报表参数传递方式参数设置,这里beginDate和endDate是源报表选择的日期,shu_id 为选中单元格的信息,即B5单元格的值,作为参数传递。注意这里的sku_id 要与子页面的参数一致

帆软报表连接MONGODB数据库 帆软报表传参_数据库_04

2、目标报表设置

在商品销量明细表的绑定SQL中 where条件加上 sku_id 信息,用于接收父页面参数,绑定SQL如下所示。

-- 展示商品明细信息
SELECT
	sku_id,
	spu_id,
	sku_name,
	goods_type,
	sku_num,
	create_time,
	update_time
FROM
	tb_order_item
WHERE
    	1 = 1
	and date_format(create_time,'%Y-%m-%d') >= '${beginDate}'
	AND date_format(create_time,'%Y-%m-%d') <= '${endDate}'
	 ${if(len(sku_id)==0,""," and sku_id = '"+sku_id+"' ")} 
	order by goods_type,sku_id desc

第一步、添加网络报表

跳转到目标报表后,添加 返回上一级 功能,和上面操作类似。

选中 返回上一级 文字,在右侧编辑栏,添加链接 -> 网络报表

帆软报表连接MONGODB数据库 帆软报表传参_SQL_05


在弹出窗口,选择 跳转前往的目标报表参数传递方式参数设置,这里beginDate和endDate是源报表选择的日期,同样的参数带回去。

帆软报表连接MONGODB数据库 帆软报表传参_sql_06

3、测试跳转

在 商品销量汇总表中查询 2022-10-17 到 2022-10-20 范围内的商品,如下图所示。

帆软报表连接MONGODB数据库 帆软报表传参_sql_07


点击 商品ID 为66676 的商品,即跳转到 商品销量明细表,销量总数为5,如下图所示。

帆软报表连接MONGODB数据库 帆软报表传参_SQL_08


点击 返回上一级 按钮,回到 商品销量汇总表,起始时间都获取到,展示正常,如下图所示。

帆软报表连接MONGODB数据库 帆软报表传参_SQL_09


以上就是 帆软报表联动,主要应用网络报表功能,相互间的参数传递。