85 评论

aohaidong

能不能实现每个查询值独立,各不相干,选什么出什么,文中这样搞太不智能了?

0 2021-03-31 13:55

susie

你好,感谢你的反馈,已提交产品需求

0 2021-04-28 11:02

用户J3541836

这个参数为空的处理太不智能了,感觉完全是在写拼接字符串的SQL代码。我觉得完全可以优化一下这个功能,做一个空值的特殊选项处理,避免这样复杂的操作来实现设计。建议借鉴一下metabase

1 2021-03-16 15:51

susie

你好,感谢你的反馈,已提交产品需求

0 2021-04-28 11:02

用户b1956520

这里只是示例一个控件参数变量,那两个、三个呢?我用and连接两个变量就不行
${
if(len(区县) == 0 and len(市) == 0 and len(省) == 0,
"",

if(len(区县) == 0 and len(市) == 0,
"and gd.pname ='"+ 省 +"' ",
if(len(区县) == 0,
"and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' ",
"and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' and gd.adname ='"+ 区县 +"'"
)
)
)
}

0 2021-03-06 11:31

yxpfr

你没学过SQL的 Nvl()?

0 2020-10-29 13:09

fatdoge

if(condition, a, b)
---
if语句在我们定义数据集时,sql中通过${}的方式包裹脚本时,参数就不需要再使用${}包裹了。if语句第一个形参是条件语句需要返回一个布尔值,若为true则执行a,若为false则执行b。
所以若为空则不过滤的条件可以写成len(area) == 0,即area参数的值长度等于0这一条件为true时,执行"", 否则执行b,即执行:"and 货主地区 = '" + area + "'"。这是一种字符串拼接参数的写法,area是字符串类型,所以前后还需要拼接一个单引号。

3 2020-10-29 11:03