现在的公式不选方案号查不出数据,选方案号只能查出一条数据,想要不选方案号也可查出数据,选了也可以查出

公式里条件该怎么改

FineReport Latty 发布于 2022-1-12 16:15 (编辑于 2022-1-12 16:26)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-1-12 17:30(编辑于 2022-1-12 20:11)

1、你的sql函数只能选择一个是因为用的是等号。。。没有使用in。所以只能选择一个

2、不选择方案号不出数据。是因为你没有判断假如方案号为空就忽略这个参数的原因。。。

sql("PRODUCTSTAGE_impala","select sum(product_numbers_kpcs) over(partition by rdp_code,solution_source_id,version_num) from tianma_bi.dws_profit_result_sys 

where 1=1"+ if(len($RDP_NO)=0,""," and rdp_code in ('"+ $RDP_NO +"')") + if(len($VERSION)=0,""," and version_num in ('"+ $VERSION +"')") 

+ if(len($SCHEMA)=0,""," and solution_source_id in ('"+ $SCHEMA +"')") + " and sales_currency='CNY'",1,1)

最佳回答
0
snrtuemcLv8专家互助
发布于2022-1-12 16:16
最佳回答
0
Bell贝尔Lv4见习互助
发布于2022-1-12 16:25

点击参数面板--点击para--取消勾选红色框的

image.png

  • Latty Latty(提问者) 你理解错了
    2022-01-12 16:27 
  • Bell贝尔 Bell贝尔 回复 Latty(提问者) 换个思维把,这些参数的定义在数据集定义,然后 SELECT * FROM *** ${if(len(schema) == 0,\"\",\"where schema = \'\" + schema + \"\'\")}
    2022-01-12 16:39 
  • Latty Latty(提问者) 回复 Bell贝尔 这不是在数据集里,是在公式里
    2022-01-12 16:56 
  • Bell贝尔 Bell贝尔 回复 Latty(提问者) sql()这个公式有局限性的,建议在数据集里设置参数
    2022-01-12 16:58 
  • 4关注人数
  • 364浏览人数
  • 最后回答于:2022-1-12 20:11
    请选择关闭问题的原因
    确定 取消
    返回顶部