finereport传参自定义维度

报表前端可以传参,SQL如何去控制维度从而计算销售额比较好

image.png

FineReport VincentYph 发布于 2023-8-1 14:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-8-1 14:51(编辑于 2023-8-1 15:10)

SELECT ${IF(参数==1,"门店","种类")} [TYPE_],时间,SUM(销售额) [SUM_] FROM TABLE group BY ${IF(参数==1,"门店","种类")},时间

-------------

image.png

WorkBook1.rar

  • yisheng yisheng DS1和DS2能否发数据看一下?
    2024-06-11 13:48 
  • Z4u3z1 Z4u3z1 回复 yisheng 23年的东西了。上面压缩包里没有么?
    2024-06-11 13:53 
  • yisheng yisheng 回复 Z4u3z1 按你的格式写报错的 WITH T1 AS ( select 'A001' as 门店,'A' as 种类, '202406' as 时间,5 as 销售额 from dual union select 'A001' as 门店,'B' as 种类, '202406' as 时间,5 as 销售额 from dual union select 'A002' as 门店,'A' as 种类, '202406' as 时间,10 as 销售额 from dual ) SELECT ${IF(参数==1,"门店","种类")} [TYPE_],时间,SUM(销售额) [SUM_] FROM T1 group BY ${IF(参数==1,"门店","种类")},时间
    2024-06-11 14:03 
  • Z4u3z1 Z4u3z1 回复 yisheng 模板里面的数据集不是这样写的吧
    2024-06-11 14:29 
  • yisheng yisheng 回复 Z4u3z1 如果我想写if 参数=2,门店,格式怎么写呀? SELECT ${IF(参数=1,"门店","种类")} as TYPE_,时间,SUM(销售额) as SUM_ from table1 group BY ${IF(参数=1,"门店","种类")},时间
    2024-06-11 14:43 
最佳回答
0
用户k6280494Lv6专家互助
发布于2023-8-1 14:50(编辑于 2023-8-1 14:58)

select * from b where a='${参数}'

添加条件属性-行高-门店显示

image.png

种类显示

image.png

image.png

  • VincentYph VincentYph(提问者) 不是,要更换维度从而在报表前端也更换维度的
    2023-08-01 14:53 
  • 用户k6280494 用户k6280494 回复 VincentYph(提问者) 我的办法是添加条件属性-行高来控制显示那个
    2023-08-01 14:55 
最佳回答
0
谧世Lv5见习互助
发布于2023-8-1 15:05(编辑于 2023-8-1 15:06)

1、SQL中,将维度字段通过判断的方式进行处理 ,select ${if(参数=传参1,门店,种类)},时间,sum(销售额) as 销售额 from 表 group by ${if(参数=传参1,门店,种类)},时间;

2、表格中,同样对表头进行判断处理${if(参数=传参1,门店,种类)}

  • 3关注人数
  • 353浏览人数
  • 最后回答于:2023-8-1 15:10
    请选择关闭问题的原因
    确定 取消
    返回顶部