公式翻译

if(len($产品类型)=0,Embedded1.select(产品),eval("Embedded1.select(产品,产品类型='"+$产品类型+"')"))

这个公式是什么意思?Embedded1为数据集名称

FineReport 用户W7029742 发布于 2021-3-18 16:22
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
luojian0323Lv7资深互助
发布于2021-3-18 16:24

如果产品类型参数为空,进行Embedded1.select(产品) 这个数据集的产品查询

如果产品类型参数不为空,进行eval("Embedded1.select(产品,产品类型='"+$产品类型+"')") 查询对应产品类型下的产品查询。

  • 用户W7029742 用户W7029742(提问者) 不为空条件下,再加一个查询条件,应该怎么写?当前只是一个查询条件,若有两个怎么办?
    2021-03-18 16:31 
  • luojian0323 luojian0323 回复 用户W7029742(提问者) if(len($产品类型)=0,jf(条件,结果一,结果二),eval(\"Embedded1.select(产品,产品类型=\'\"+$产品类型+\"\')\"))
    2021-03-18 16:36 
  • 用户W7029742 用户W7029742(提问者) 回复 luojian0323 谢谢
    2021-03-18 16:51 
最佳回答
1
snrtuemcLv8专家互助
发布于2021-3-18 16:24

如果 产品类型 没选择,就在Embedded1数据集查询全部 产品 信息,如果不为空,这根据条件在Embedded1查询对应产品类型的产品

  • 用户W7029742 用户W7029742(提问者) 不为空条件下,再加一个查询条件,应该怎么写?当前只是一个查询条件,若有两个怎么办?
    2021-03-18 16:31 
  • snrtuemc snrtuemc 回复 用户W7029742(提问者) 后面直接 select(产品,产品类型=\"1\"&&产品型号=\"2\") 参考数据集函数-https://help.fanruan.com/finereport/doc-view-850.html
    2021-03-18 16:33 
  • 用户W7029742 用户W7029742(提问者) 回复 snrtuemc 好的,谢谢
    2021-03-18 16:51 
最佳回答
1
用户p9061960Lv4见习互助
发布于2021-3-18 16:35

EVAL:

EVAL(exp)返回表达式exp计算后的结果。

exp:一个表达式形式字符串。

备注:

只要EVAL中的参数exp最终可以转化成一表达式形式的字符串,比如"sum(2,4)","2+7"等等,那么它就可以被计算。

示例:

EVAL("2+5")等于7。

EVAL("count(2,3)")等于2。

EVAL("sum"+"(2,3,5)")等于10。

EVAL(IF(true,"sum","count")+"(1,2,3,4)")等于10。

EVAL(IF(false,"sum","count")+"(1,2,3,4)")等于4。

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

tablename.select

tablename.select(colname,筛选条件1&&筛选条件2&&......):选出数据集某列中符合条件的数据,返回结果是一个数组,相同数据不会合并。

1)参数说明

  • tablename:表示数据集名称,注意是报表数据集或者是服务器数据集名,而非数据库中的表名

  • colname:表示列名,不区分大小写。

2)示例

如数据集 ds1 取出内置 FRDemo 数据库中的「销量」表:

  • 在单元格中输入=ds1.select(销售员),返回数据集 ds1 销售员列中的所有值。

  • 在单元格中输入=ds1.select(销售员,地区 = "华东"&&销量 > 200),返回数据集 ds1 华东地区销售总额超过 200 的销售员。

  • 在单元格中输入=ds1.select(销售员,地区="华东"||地区="华北"),返回数据集 ds1 华东地区或华北地区的销售员。

注1:筛选条件中的判断既可以使用单等号,也可以使用双等号;字符串也同时可以使用单引号或者是双引号,对结果均没有影响。

注2:tablename.select() 与 sql() 的区别主要在于 tablename.select() 是从数据集取数,sql() 是从数据库取数,不需要先定义一个数据集。详情参见 SQL 函数

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

你说的查询条件应该是筛选条件,下面是数据集函数的网址

https://help.fanruan.com/finereport/doc-view-850.html?source=1

  • 4关注人数
  • 399浏览人数
  • 最后回答于:2021-3-18 16:35
    请选择关闭问题的原因
    确定 取消
    返回顶部