拼接表名动态查询表头

我目前通过数采获取到了70个表单数据(每个表字段不同),我想要通过单报表 + 表名单选(筛查条件)实现一个报表  选择表名动态展示不同 数采表单数据:

例如:  我有三个表 分别是  A  ,B,C     A表字段有 A1、A2、A3; B表字段有 B1、B2、B3; C表字段有 C1、C2、C3

通过建立一个查询报表,在条件  “表名”给出A时候展示A1、A2、A3; 在条件  “表名”给出B时候展示B1、B2、B3.

2025-08-28 11.40:每次加到第10列就会卡死,如图

88999.png

FineReport 阿俊 发布于 2025-8-28 09:43 (编辑于 2025-8-28 11:40)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2025-8-28 09:46(编辑于 2025-8-28 09:50)

可以实现,提供个思路

①配置一个下拉框,一个下拉复选框,其中下拉框控制表名【单选】,下拉框复选框控制列名

②通过SQL动态查询对应表的对应列

select ${col} from ${tab}

③利用列序号动态展示即可

具体参考文档

数据集参数实现动态列- FineReport帮助文档 - 全面的报表使用教程和学习资料  https://help.fanruan.com/finereport/doc-view-1289.html

  • 阿俊 阿俊(提问者) 可以实现但是 为什么每次加到第10个字段就会卡死
    2025-08-28 11:37 
  • 坚定的小帆薯 坚定的小帆薯 回复 阿俊(提问者) 如果是卡死,不是报错的话,考虑数据太多,导致的性能问题,两个解决方案①使用分页预览;②增加内存
    2025-08-28 13:12 
  • 阿俊 阿俊(提问者) 回复 坚定的小帆薯 还想问下, 这种动态查询出来的 还能加筛查条件吗?
    2025-08-29 08:33 
  • 坚定的小帆薯 坚定的小帆薯 回复 阿俊(提问者) 加筛选条件有点麻烦,SQL的where条件不能用列序号过滤;可以考虑用文本框,再前端用列序号过滤,只要不涉及具体的列名应该可以
    2025-08-29 10:05 
  • 阿俊 阿俊(提问者) 回复 坚定的小帆薯 在DSI 里面 加入 ,为什么还是报错楠, 不能实现查第一列
    ${if(len(A)==0,""," and INDEXOFARRAY(split($col,","),1) = '"+A+"'")}
    2025-08-29 10:29 
最佳回答
0
CD20160914Lv8专家互助
发布于2025-8-28 09:45(编辑于 2025-8-28 09:46)
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-8-28 09:46(编辑于 2025-8-28 09:46)
  • 4关注人数
  • 64浏览人数
  • 最后回答于:2025-8-28 11:40
    请选择关闭问题的原因
    确定 取消
    返回顶部