[ABI 5.1] 参数过滤的问题

11037
2

l3104468710 小试身手Lv3

发表于2020-8-13 16:00

悬赏1

已解决

楼主
过滤条件如图,@jsmc是教师名称参数,@xxmc是学校名称参数,@kssj和@jssj是开始时间和结束时间参数,只设置前面两个参数的时候能筛选出来数据正常展示,加上时间参数就不行了,数据为空。时间参数是通过年月参数选择框录入的,TEACHER_SCORE_INFO.add是字符串类型。

最近看过此主题的会员

jrjrjr

18993434840

esen_5AP353Z1EWFU

dhlfisher

esen_50U2PL1OSG1M

esen_551EV9Y3NG

esen_4YNPQEX87K

liguangliang

esen_3H03HK78MGNH

wjrvera

pandabuxizao

DJY

最佳答案

xxxl

发表于2020-8-13 16:00

只看该作者

取消 关注该作者的回复

用mkfilter来写过滤条件试试。

前面记得加宏,例如<#=mkfilter("xxb.bbq=@bbq")#>

mkfilter函数具体说明

定义:
根据参数值进行报表指标数据过滤。此函数主要用在定义报表时,根据报表参数来定义过滤条件时,简化过滤条件的书写。
mkfilter("过滤指标1=报表参数1&过滤指标2=报表参数2...")
参数:
    本函数的参数由多个报表参数与过滤指标组成。写法为:报表参数1=过滤指标1&报表参数2=过滤指标2...
示例:
(1)、mkfilter("XXB.HY_DM = @a")
输入:@a=A0101|B0101,则返回:XXB.HY_DM IN ['A0101','B0101']
说明:这个例子中xxb.hy_dm是代码维,输入的参数是两个条件,并且是代码中的代码,则根据输入的参数值进行过滤

(2)、mkfilter("dim(xxb.c4,'nsrxx')=@a")
输入:@a=abc,则返回:dim(xxb.c4,'nsrxx')='abc'

(3)、mkfilter("dim(xxb.c4,'nsrxx') like @a")
输入:@a=abc,则返回:dim(xxb.c4,'nsrxx') like 'abc%'
说明:这个例子中根据输入的参数abc进行模糊匹配。
(4)、mkfilter("dim(xxb.c4,'nsrxx')=@a")
输入:@a=abc|def|gti,则返回:dim(xxb.c4,'nsrxx') in ['abc','def','gti']
说明:这个例子中输入的参数件三个条件。

(5)、mkfilter("left(dim(xxb.c4,'nsrxx'))=@a")
输入:@a=abc,则返回:left(dim(xxb.c4,'nsrxx'))='abc'

(6)、mkfilter(xxb.hy_dm=@a)
输入:@a=A,则返回:xxb.hy_dm like 'A'
说明:这个例子中xxb.hy_dm是代码维,根据输入的参数值A进行模糊匹配。

(7)、mkfilter(xxb.hy_dm=@a)
输入:@a=A0101,则返回:xxb.hy_dm = 'A0101'
说明:这个例子中xxb.hy_dm是代码维,根据输入的参数值A0101进行精确匹配。

(8)、mkfilter(xxb.hy_dm=@a)
输入:@a=A|B,则返回:left(xxb.hy_dm,1) in ['A','B']
说明:这个例子中xxb.hy_dm是代码维,输入的参数是两个条件,并且是代码中的左边一们,则根据输入参数值的左边一位进行过滤。

(9)、mkfilter(xxb.hy_dm=@a)
输入:@a=A,则返回:xxb.hy_dm like 'A%'
说明:同(6)
详细说明:
1、支持在输入参数时,输入逻辑表达式 如:“A>b & C<D”
2、支持在MKFILTER中有逻辑表达式
例如@kxlb为空 @je 为空 @je1 为3 那么
mkfilter("(xxb.c5=@kxlb&xxb.c4=@je)|(xxb.c3=xxx)")
返回:xxb.c5=20 or xxb.c3=3
3、进行模糊条件查询时,输入的条件有限制,即输入方式应该是“ABC%”,目前不支持“%ABC%” 和“AB%C”的格式
4、在输入参数时,如果一个参数输入多个条件时,需要在输入框中加“=”,如:“=AB|CD”
2个回答

只看楼主

l3104468710 小试身手Lv3

发表于2020-8-13 16:02

只看该作者

取消 关注该作者的回复

沙发

用宏表达式<#=@jssj#>   能接收到参数

xxxl 数据领袖Lv6

发表于2020-8-13 16:00

只看该作者

取消 关注该作者的回复

板凳

用mkfilter来写过滤条件试试。

前面记得加宏,例如<#=mkfilter("xxb.bbq=@bbq")#>

mkfilter函数具体说明

定义:
根据参数值进行报表指标数据过滤。此函数主要用在定义报表时,根据报表参数来定义过滤条件时,简化过滤条件的书写。
mkfilter("过滤指标1=报表参数1&过滤指标2=报表参数2...")
参数:
    本函数的参数由多个报表参数与过滤指标组成。写法为:报表参数1=过滤指标1&报表参数2=过滤指标2...
示例:
(1)、mkfilter("XXB.HY_DM = @a")
输入:@a=A0101|B0101,则返回:XXB.HY_DM IN ['A0101','B0101']
说明:这个例子中xxb.hy_dm是代码维,输入的参数是两个条件,并且是代码中的代码,则根据输入的参数值进行过滤

(2)、mkfilter("dim(xxb.c4,'nsrxx')=@a")
输入:@a=abc,则返回:dim(xxb.c4,'nsrxx')='abc'

(3)、mkfilter("dim(xxb.c4,'nsrxx') like @a")
输入:@a=abc,则返回:dim(xxb.c4,'nsrxx') like 'abc%'
说明:这个例子中根据输入的参数abc进行模糊匹配。
(4)、mkfilter("dim(xxb.c4,'nsrxx')=@a")
输入:@a=abc|def|gti,则返回:dim(xxb.c4,'nsrxx') in ['abc','def','gti']
说明:这个例子中输入的参数件三个条件。

(5)、mkfilter("left(dim(xxb.c4,'nsrxx'))=@a")
输入:@a=abc,则返回:left(dim(xxb.c4,'nsrxx'))='abc'

(6)、mkfilter(xxb.hy_dm=@a)
输入:@a=A,则返回:xxb.hy_dm like 'A'
说明:这个例子中xxb.hy_dm是代码维,根据输入的参数值A进行模糊匹配。

(7)、mkfilter(xxb.hy_dm=@a)
输入:@a=A0101,则返回:xxb.hy_dm = 'A0101'
说明:这个例子中xxb.hy_dm是代码维,根据输入的参数值A0101进行精确匹配。

(8)、mkfilter(xxb.hy_dm=@a)
输入:@a=A|B,则返回:left(xxb.hy_dm,1) in ['A','B']
说明:这个例子中xxb.hy_dm是代码维,输入的参数是两个条件,并且是代码中的左边一们,则根据输入参数值的左边一位进行过滤。

(9)、mkfilter(xxb.hy_dm=@a)
输入:@a=A,则返回:xxb.hy_dm like 'A%'
说明:同(6)
详细说明:
1、支持在输入参数时,输入逻辑表达式 如:“A>b & C<D”
2、支持在MKFILTER中有逻辑表达式
例如@kxlb为空 @je 为空 @je1 为3 那么
mkfilter("(xxb.c5=@kxlb&xxb.c4=@je)|(xxb.c3=xxx)")
返回:xxb.c5=20 or xxb.c3=3
3、进行模糊条件查询时,输入的条件有限制,即输入方式应该是“ABC%”,目前不支持“%ABC%” 和“AB%C”的格式
4、在输入参数时,如果一个参数输入多个条件时,需要在输入框中加“=”,如:“=AB|CD”

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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