单选按钮动态设置参数传递
含参数模板报表的设置,往往含有多组参数选择,当一组参数无效时,另一组参数才能起作用。参数模板的不同的单元格对应不同的参数。如何对所传递参数的有效性做判断,成为问题的关键。可以使用填报编辑风格的单选按钮来判定参数所传值在展现报表是否有效。
步骤一:单元格逻辑语句的编辑
针对于图一的报表,有年、季度、月三组参数可以传值,对与报表的判断则只能针对一组参数值进行运算。参数值使用or语句实现互斥:
=ds2.count(CBZLDM==A7 && (&&year(SLSJ)==arg1) or(&&left(str(SLSJ),7)== arg6 )or (SLSJ>=quaterbegin(arg4)&&SLSJ <=quaterend(arg4)) ))
含参数模板报表的设置,往往含有多组参数选择,当一组参数无效时,另一组参数才能起作用。参数模板的不同的单元格对应不同的参数。如何对所传递参数的有效性做判断,成为问题的关键。可以使用填报编辑风格的单选按钮来判定参数所传值在展现报表是否有效。
步骤一:单元格逻辑语句的编辑
针对于图一的报表,有年、季度、月三组参数可以传值,对与报表的判断则只能针对一组参数值进行运算。参数值使用or语句实现互斥:
=ds2.count(CBZLDM==A7 && (&&year(SLSJ)==arg1) or(&&left(str(SLSJ),7)== arg6 )or (SLSJ>=quaterbegin(arg4)&&SLSJ <=quaterend(arg4)) ))
图一
步骤二:添加函数控制报表运算
针对于上图报表的设计逻辑,必须使用无关的arg8来控制报表:
=ds2.count(CBZLDM==A7 && ((arg8==1&&year(SLSJ)==arg1) or (arg8==3&&left(str(SLSJ),7) == arg6 )or (SLSJ>=quaterbegin(arg4)&&SLSJ <=quaterend(arg4)) ))
图二
图二
如图2,设置一个单元格传递arg8的参数值,
步骤三:参数模板的设计
对传递arg8的单元格选择编辑风格,编辑风格为单选按钮,设置代码值,显示值。
代码值是传递给展现报表的真实值,显示值是参数模板的选项名称。
单选按钮有列数设置,可以设置按钮的排列方式,现在选择横向3列的排列方式。如图三
图三
步骤四:发布测试
图五
根据上述设置,可以实现单选按钮对报表查询条件的动态选择。
总结:单选按钮、复选框等编辑风格的设置,使报表的运算更便于控制。美观,灵活度都有算提高