DS21写了基本数据查询,DS2能否在DS1的结果加条件形成DS2的数据集

例如

DS1:select 销售员,产品,销量  from 销售

DS2:select * from DS1 where 销售员='张三'      

DS3:select * from DS1 where 销售员='李四'

类似这样的引用数据集或关联数据集,或不是语句的别的过滤方式

这里引用DS1能否用ds1.select(),这样?

因为我们的数据量比较大,不想多次在数据库里查询,请大侠帮助一下,谢谢

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

https://help.fanruan.com/finereport/doc-view-4244.html   --4.2.2 SQL中使用SQL函数

-----------

可以建存储过程么?

最佳回答
0
snrtuemcLv8专家互助
发布于2023-10-13 15:25

你这个写法不支持的

建议直接数据库就做子查询了

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-10-13 15:26

select * from (select 销售员,产品,销量  from 销售where 销售员='张三' 

  • love99me love99me(提问者) 不想再到数据库查,想直接引用DS1,我DS1的真实数据库很大,我在DS1做了时间等条件, DS2再查数据库又一次很慢
    2023-10-13 15:29 
  • 用户k6280494 用户k6280494 回复 love99me(提问者) 那你就用value()或ds1.select函数去匹配,但是还是数据集效率高
    2023-10-13 15:34 
最佳回答
0
龙侃飞Lv3见习互助
发布于2023-10-13 16:37(编辑于 2023-10-13 16:39)

可以在单元格调用的时候写成:ds1.select(展示字段, 销售员 = '张三')

但是像select和value这类函数在调用的时候,会导致多次加载,影响报表的性能

建议如果你是这种的考虑一下是不是可以用传参来实现

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