参数为空选择全部,否则选择参数值

内置模板.zip

内置模板已上传(目的是通过下拉框筛选数据)

image.png

FineReport Yours飞飞 发布于 2025-6-16 17:14 (编辑于 2025-6-17 08:32)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Yours飞飞Lv5见习互助
发布于2025-6-17 09:30

${

if(right(fine_username,1)='店',

"with t1 as (

SELECT '1' 序号,SUM(本期销售) 昨日累计销售金额 FROM 本月门店品类销售情况_1

where 时间=DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))

and 门店='" + fine_username + "'

),

t2 as (

SELECT '1' 序号,SUM(本期销售) 本月累计销售金额 FROM 本月门店品类销售情况_1

where 1=1

and 门店='" + fine_username + "'

),

t3 as (

select '1' 序号,SUM(销售目标) 月度目标,SUM(销售目标)/DAY(LAST_DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))) 昨日目标 from fr_fanruan.dw_销售目标

where 年月=LEFT(DATE_SUB(CURDATE(),INTERVAL 1 DAY),7)

and 机构名称='" + fine_username + "'

)

select 昨日累计销售金额,

       昨日累计销售金额/昨日目标 昨日指标达成率,

       本月累计销售金额, 

本月累计销售金额/月度目标 本月指标达成率

from t1 

left join t2 on t1.序号=t2.序号 

left join t3 on t1.序号=t3.序号"

,

IF(len(门店名称)=0,"with t1 as (

SELECT '1' 序号,SUM(本期销售) 昨日累计销售金额 FROM 本月门店品类销售情况_1

where 时间=DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))

),

t2 as (

SELECT '1' 序号,SUM(本期销售) 本月累计销售金额 FROM 本月门店品类销售情况_1

),

t3 as (

select '1' 序号,SUM(销售目标) 月度目标,SUM(销售目标)/DAY(LAST_DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))) 昨日目标 from fr_fanruan.dw_销售目标

where 年月=LEFT(DATE_SUB(CURDATE(),INTERVAL 1 DAY),7)

)

select 昨日累计销售金额,

       昨日累计销售金额/昨日目标 昨日指标达成率,

       本月累计销售金额, 

本月累计销售金额/月度目标 本月指标达成率

from t1 

left join t2 on t1.序号=t2.序号 

left join t3 on t1.序号=t3.序号"

,

"with t1 as (

SELECT '1' 序号,SUM(本期销售) 昨日累计销售金额 FROM 本月门店品类销售情况_1

where 时间=DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))

and 门店='" + 门店名称 + "'

),

t2 as (

SELECT '1' 序号,SUM(本期销售) 本月累计销售金额 FROM 本月门店品类销售情况_1

where 1=1

and 门店='" + 门店名称 + "'

),

t3 as (

select '1' 序号,SUM(销售目标) 月度目标,SUM(销售目标)/DAY(LAST_DAY(DATE_SUB(CURDATE(),INTERVAL 1 DAY))) 昨日目标 from fr_fanruan.dw_销售目标

where 年月=LEFT(DATE_SUB(CURDATE(),INTERVAL 1 DAY),7)

and 机构名称='" + 门店名称 + "'

)

select 昨日累计销售金额,

       昨日累计销售金额/昨日目标 昨日指标达成率,

       本月累计销售金额, 

本月累计销售金额/月度目标 本月指标达成率

from t1 

left join t2 on t1.序号=t2.序号 

left join t3 on t1.序号=t3.序号"

)

)

}

最佳回答
1
sysdbaLv5见习互助
发布于2025-6-16 17:15(编辑于 2025-6-16 17:16)

select * from 订单 

where 1=1  

${if(len(货主地区) == 0,"","and 货主地区 = '" + 货主地区 + "'")}

参考:下拉框参数为空选择全部- FineReport帮助文档 - 全面的报表使用教程和学习资料

最佳回答
1
超级无敌小熊蛋Lv5初级互助
发布于2025-6-16 18:28(编辑于 2025-6-17 11:22)

${IF(FLM='天然气',"","/*")}

结尾写

${IF(FLM='天然气',"","*/")}

------

${IF(FLM='焦炉气',"","/*")}

结尾写

${IF(FLM='焦炉气',"","*/")}

最佳回答
0
snrtuemcLv8专家互助
发布于2025-6-16 17:17(编辑于 2025-6-16 17:19)

select * from 表

where 1=1  

${if(len(控件名) == 0,"","and 字段 in ('" + replace(控件名,",","','") + "')")}

这个写法,不需要设置控件分隔符了

=========

你这个是

if(right(fine_username,1)="店",fine_username,"海王星店")

最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-6-16 17:24

描述和图不符啊,到底是什么问题?

为空选择全部不赘述了

if(and(right(fine_username,1)="店",fine_username<>"门店"),fine_username,"海王星店")

  • 3关注人数
  • 107浏览人数
  • 最后回答于:2025-6-17 11:22
    请选择关闭问题的原因
    确定 取消
    返回顶部