-
-
l3104468710 小试身手Lv3
发表于2020-8-13 16:00
悬赏1
已解决

前面记得加宏,例如<#=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个回答
用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”