[ABI 5.2] 维下拉多选,模糊查找

3230
12

ysy123 初学数据Lv2

发表于2023-8-24 14:59

悬赏1

未解决

楼主
模糊查找多选,这样写
if(@ysdw is null or @ysdw='',1=1,dim(FBD_FACT_PAY_BJS_ALL.agency_code) like @ysdw^'%')不生效,需要如何修改?

最近看过此主题的会员

esen_4Y3L5ADO80

12个回答

只看楼主

kongl 初学数据Lv2

发表于2023-8-24 17:08

只看该作者

取消 关注该作者的回复

沙发

<#=mkfilter("dim(FBD_FACT_PAY_BJS_ALL.agency_code) = @ysdw")#>

ysy123 初学数据Lv2

发表于2023-8-24 17:13

只看该作者

取消 关注该作者的回复

板凳


这个不能实现模糊查找

chestnut 数据领袖Lv6

发表于2023-8-24 18:36

只看该作者

取消 关注该作者的回复

地板

ysy123 发表于 2023-8-24 17:13
这个不能实现模糊查找

多选是in多个值,模糊匹配是like一个值,这两个一起是要实现什么需求?
多选可以直接用dim
if(len(@ysdw)=0,1=1,dim(FBD_FACT_PAY_BJS_ALL.agency_code) =@ysdw)
模糊匹配 用diminf取参数实际值,可根据需求调整
if(len(@ysdw)=0,1=1,dim(FBD_FACT_PAY_BJS_ALL.agency_code) like '%<#=diminf("维表名称",@ysdw,"$realid")#>%')

diminf参考:
https://bbs.esensoft.com/thread-135211-1-1.html

ysy123 初学数据Lv2

发表于2023-8-25 08:32

只看该作者

取消 关注该作者的回复

5#

chestnut 发表于 2023-8-24 18:36
多选是in多个值,模糊匹配是like一个值,这两个一起是要实现什么需求?
多选可以直接用dim
if(len(@ysdw) ...

现在的问题是维表是分层的,比如第一层是101,102,第二层是10101,10201,只选择一个10101是正常的,但是多选10101和10102就会变成101,102,这是什么问题?

chestnut 数据领袖Lv6

发表于2023-8-25 10:45

只看该作者

取消 关注该作者的回复

6#

ysy123 发表于 2023-8-25 08:32
现在的问题是维表是分层的,比如第一层是101,102,第二层是10101,10201,只选择一个10101是正常的,但 ...

维下拉参数多选,用dim就可以。现在是怎么配置的?

ysy123 初学数据Lv2

发表于2023-8-25 10:50

只看该作者

取消 关注该作者的回复

7#

chestnut 发表于 2023-8-25 10:45
维下拉参数多选,用dim就可以。现在是怎么配置的?

if(@ysdw is null or @ysdw='',1=1,dim(left(FBD_FACT_PAY_BJS_ALL.ADMDIV_CODE,6)^FBD_FACT_PAY_BJS_ALL.agency_code) =@ysdw)

ysy123 初学数据Lv2

发表于2023-8-25 10:52

只看该作者

取消 关注该作者的回复

8#

chestnut 发表于 2023-8-25 10:45
维下拉参数多选,用dim就可以。现在是怎么配置的?

生成的sql @ysdw变成了520500101,但是我选的是52050010101和52050010202   where (((a.FISCAL_YEAR = '2023') AND (a.XPAY_DATE <= '20230824')) AND ( SUBSTR(a.ADMDIV_CODE,1,6)||a.AGENCY_CODE='520500101' or SUBSTR(a.ADMDIV_CODE,1,6)||a.AGENCY_CODE='520500102') AND (a.ADMDIV_CODE='520500000'))

ysy123 初学数据Lv2

发表于2023-8-25 10:53

只看该作者

取消 关注该作者的回复

9#

chestnut 发表于 2023-8-25 10:45
维下拉参数多选,用dim就可以。现在是怎么配置的?


ysy123 初学数据Lv2

发表于2023-8-25 10:54

只看该作者

取消 关注该作者的回复

10#

chestnut 发表于 2023-8-25 10:45
维下拉参数多选,用dim就可以。现在是怎么配置的?

选择101001和102001会变成101和102,这种情况如何处理?

chestnut 数据领袖Lv6

发表于2023-8-25 11:17

只看该作者

取消 关注该作者的回复

11#

本帖最后由 chestnut 于 2023-8-25 11:19 编辑

ysy123 发表于 2023-8-25 10:54
选择101001和102001会变成101和102,这种情况如何处理?

dim(left(FBD_FACT_PAY_BJS_ALL.ADMDIV_CODE,6)^FBD_FACT_PAY_BJS_ALL.agency_code) =@ysdw
这个条件没明白,维下拉绑定的维表一般是主题表中字段绑定的维表,为什么这里要拼接字段?


上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号