1.什么是参数
ABI报表内容都可以作为参数,用户可以根据实际需求设置报表中的可变量作为参数;更简单点,参数好比一个十字路口,站在十字路口的我们最后所到达的目的地(分析结果),会根据选择前后左右方向(选择参数)的不同而不同。用sql的眼睛来看,参数可以影响到sql语句的任意部分,他可以决定select中的内容、wehre的内容、group by的内容、order by的内容,有SQL的地方就会有参数的影子。
2.参数使用
按照报表内容的可变性,报表分为静态报表和动态报表(参数化报表)ABI参数面板支持编辑框、枚举框、树下拉框、列表下拉框和日期型等多种参数类型,如果是枚举类型、列表下拉框类型的参数,该类型参数的下拉列表内容可以是静态手工输入的,也可以来自于第三方数据源,其内容可以随第三方数据源数据动态变化。参数面板中提供了参数类型对应参数内容变化的行为响应事件(参数联动),极大的方便了用户使用参数化报表时对参数的选择或输入,减少了用户重复定制参数条件生成报表的工作量。
2.1 按钮
按钮用于需要有特殊点击事件的情形,比如计算、清空、编辑、导出、日志、订阅、添加到收藏夹、打印、打印预览、查看报表说明等。
按钮添加完成后,可以在按扭属性的“事件”中直接选择配置;如果你有更多的需求,可以在事件中自行写脚本实现。
2.2 下拉按钮
当分析表含有多个点击事件,但设置多个按钮界面又不够美观,那么下拉按钮就能很好的解决此问题。
如上图的效果,只需拖动一个下拉按钮参数组件到参数面板区,按需设置【菜单设置】属性就可以完成。
2.3 滑块
滑块参数使用时可以根据鼠标的拖动改变参数值,如下图所示:
具体属性设置如下:
【最大值】滑块最右边(到顶)的数值。
【最小值】滑块最左边的数值。
【步数】可将滑动块等分为所设置的步数。
滑动块常与钻取合用于即时刷新统计图。
示例:滑动块与仪表盘进行关联,当滑动块移动到某个数值时,仪表盘显示所移动到的 数值:
拖入仪表盘,并且设置仪表盘的区域区间,如下分为三个区间分别是:
差:0至30;中:30至60;好:60至100;
设置指针的值为@sz;
拖入滑动块,设置块动块的“参数名称”为@sz,最大值为100,最小值为0,如下图:
设置滑动块的“钻取设置”为联动式,具体设置如下:
联动方式:图形联动;
图形显示区域:即仪表盘的代号;
参数设置:即滑动块的值;
数据点名称:即滑动块的标题;
系列名称:设置统计图的系列名称;
如下图,当鼠标将滑动块拖到某个数值时,仪表盘显示到此数值:
2.4 日期
该类型用于选择日期的参数,精确到天,以日历的形式展现,如下图所示。
主要的属性设置如下图。
参数类型:有日期、年月、年供选择。
允许选择时间:勾选后即可选择具体时间,精确到秒
起始时间:日历中可以选择的最早时间
截止时间:日历中可以选择的最晚时间
如果勾选了“允许选择时间”,可选择精确到秒:
点击选择时间,就能选择具体时间
年月,年组件和日期相识,可以相互切换。
2.5 起止日期
起止日期可输入时间轴刻度,拖动时间点来实现数据的更新。
当“最近”按钮在左侧时,时间按照“时间轴刻度”显示:
当“最近”按钮在右侧时,可选择“开始时间”和“结束时间”:
2.6 勾选框
勾选框类型参数一般用于控制参数的显示。如下图设置的参数@gx,可以用来控制某行或者某列数据的背景颜色,公式可以写为if(@gx,'#FFCC00','#9C27B0'),其含义:在计算面板上打上勾选框前的勾,颜色为黄色,负责紫色。
勾选框设置
2.7 勾选框组
我们使用勾选框组实现上面的要求:勾选框组的设置如下:
刚才的表格设置不变:
计算我们可以看到如下的效果:
2.8 枚举下拉
枚举下拉列表可配合枚举值一起使用:
枚举值:参数可选值由显示值和实际值组成,用分号’;’分隔开。例如:显示黄色:true;显示紫色:false;。
允许多选:勾选后,参数可以选择多个;不勾选,则只能选择一个。
我们是用枚举下拉实现上面的场景:
2.9 维下拉
该类型用维表作为参数,方便用户选择,与枚举下拉框一样可以支持多选。此处“参数类型”包含3种:
1)维下拉框
如果选择了维下拉框,下方会显示“维表”属性用用户选择,此处会列出主题域下所有维表。
2)单位级次下拉框
单位次级下拉框是根据主题域或者主题集设置的数据级次维和当前用户的权限来显示,支持多选。
3)数据期下拉框
该类型是根据所设置的主题表的数据期来显示的。选择该参数时所列的可选项是根据数据的实际情况显示,即实际数据中有数据期才在报表期下拉框中列出,否则没有。必须和某一主题表关联,该主题表是可选择的;而且该主题表需要设置数据期字段。
具体属性详解如下:
【高级输入】如果勾选选择,将直接显示数据期面板,参数名称必须是set_bbqoption,所选的数据期参数将会自动作用报表。
【主题表】1.设置数据期类型参数时,需指定主题表,即使用某一主题表的数据期内容。如不指定,即为空的状态,系统会自动分析当前报表所引用的主题表,选取第一个作为显示数据期的主题表;2.设置普通维下拉框时,可以选择是否设置关联的主题表,设置关联的主题表后可区别已报未报,设置后【主题表字段】【过滤条件】【显示样式】【参数联动】属性才会出来。
【主题表字段】普通维下拉框设置了用于区分已报未报而关联的主题表后,该属性才会出现。用于设置关联的字段。
【过滤条件】普通维下拉框设置了用于区分已报未报而关联的主题表后,该属性才会出现。关联后的过滤条件。
【显示样式】普通维下拉框设置了用于区分已报未报而关联的主题表后,该属性才会出现。维下拉项是已报时的显示样式,如color:red;font-size:30px。
【参数联动】普通维下拉框设置了用于区分已报未报而关联的主题表后,该属性才会出现。当指定的参数发生变化时,下拉项会重新加载,格式 @p;@p1 多个参数用 ; 连接。
【显示方式】可以只显示代码或者文字,也可以都显示。
【自动过滤】 勾选后,会根据该参数的相关属性,自动设置过滤条件,不需要手工书写和该参数相关的过滤条件。例如:勾选后,计算时会自动产生报表过滤条件:dim('维xxx')=@yyy。该属性还可用于“单位级次下拉框”、“数据期下拉框”参数类型。
【根节点显示】所有下级节点都可以设置为根节点。输入方式形如A0000;B0000;C0000 这样的格式,表示该下拉列表的根节点有三项。例如:110000;120000。如图235北京市和天津市被设置为了根节点。该属性的值也可以用其他参数值,如是其他参数的值,只需要填入该参数的名称即可。
【包含根节点】当勾选时,就显示“根节点显示”中指定的根节点,如果“根节点显示”为空表示以维度的顶级节点为根节点,该属性是和“根节点显示”属性配合使用!
【节点过滤】根据节点过滤表达式筛选出符合条件的节点。维节点表达式中的特殊对象,item在遍历每一个节点时,item是当前遍历的维节点对象,根据item对象可以获取到维的相关属性。
下表为item对象相关属性:
例如要返回维代码前三位为010的节点,那节点表达式为left(item.id,3)=’010’。
【节点排序】格式是级数和排序参数用冒号分隔,每一级在用分号分隔开,例如0:desc;1:asc级数从0开始,0表示第一级,左边的参数表示第1级降序第二级升序。在下图中“节点排序”属性中输入“0:desc”,数据按降序显示:
【节点选择】该属性设置控制参数值选择时只能选择叶子节点,不能选择父节点。
2.10输入过滤框
2.11日期标记
3.参数属性详细说明
代号:参数容器的代号
左边距、上边距、宽、高:用来确定参数的边距和大小
叠放次序:多个参数相互有重叠遮盖时的叠放次序
大小自适应:参数很多并且并排放时可以自适应大小
水平位置、垂直位置、背景颜色、背景图片、边框:用于设置位置和外观显示
显示:下拉框选项,分别有隐藏、不打印可预览、不打印不预览、不导出
禁用:可对参数进行禁用,禁用后参数将不起作用。
钻取设置:可对参数进行点击钻取设置。使用方法可参阅钻取章节。
参数类型:设置参数的数据类型,有文本、整数和浮点供选择。
显示顺序:多个参数时,显示的顺序,系统会根据添加先后自动给出默认顺序值。
参数名称:报表参数的代号,建议使用数字、字母与特殊字符的组合,主要用于对参数 的引用。例如:@zczj。
参数标题:给参数命名,报表参数的标题。例如:注册资金。
参数标题颜色:给参数标题设置颜色。
显示参数标题:可以控制显示或者不显示参数的标题。
长度:参数值的最大长度
默认值:没有选择参数前,默认的值。
记录结果集:上次选择的参数内容是否保留以便下次使用时不需要再次选择。
自动过滤:勾选后,会根据该参数的相关属性,自动设置过滤条件,不需要手工书写和 该参数相关的过滤条件。
编辑框、枚举下拉框、日期下拉框、年月下拉框和年输入框类型的参数,是支持自动过滤属性,这些参数除了勾选自动过滤后,还是需要设置操作符和作用字段。
操作符:
只有编辑框类型的才有,匹配(左、右、全)的属性,其他类型的参数没有。
1. 左匹配,%放在参数输入值的左边;
2. 右匹配,%放在参数输入值的右边;
3. 全匹配,前后加上%,参数输入值中的空格;
4. 等于,这里支持输入QBE表达式,QBE表达式,只有在“等于”下才起作用。如果 是枚举框多选,在该操作符下,会自动生成in 条件。
作用字段:
1. 如果作用字段为空,那么默认取参数作为作用字段;
2. 如果作用字段没有指定事实表,例如:xssr,系统会自动分析报表里面所引用的事实表,默认找一个存在该字段的事实表作为过滤条件的字段;
3. 如果指定作用事实表字段,sbxx_hz.xssr,那么就指定使用该字段生成过滤条件。
校验:可以理解为审核公式。校验下拉框中包含了非空、数字,但是也可以自定义函数,例如:@yjse>50000。
提示:参数的提示信息,如果该参数有校验,校验不通过时也会提示该信息。如下图所示,在“已缴增值税”中校验非空,在提示中写“参数不能为空”后的效果。
4 参数联动
参数联动是指多个计算参数有关联或依赖关系的条件下,当其中某一个参数的取值发生改变时,其他参数相应修改的联动式行为。参数联动在BI里面分为参数的显示形式变化和参数的内容变化。显示形式包含,参数的值、是否显示和是否禁用;参数内容变化包含,“输入框”,“滑块”,“下拉列表”,“下拉树型”,“勾选框”,“勾选框组”内容的变化。
4.1 显示形式变化
显示形式变化的参数类型为“输入框”、“滑块”、“下拉列表”、“下拉树型”、“勾选框”、“勾选框组”,它们对应的属性如下图所示。
条件:即参数内容满足条件时,对参数定义的属性起效
参数:分析表中除本身之外的参数
属性:即参数显示的形式,有3种:参数的值、是否显示和是否禁用。
值:类似于条件,当参数内容等于值中输入的条件,属性起效。
例一:在@xzqh参数中设置行为如下图。
意思是当@xzqh参数发生变化时,自动设置@rq参数的值为20190303。
例二:在@xzqh参数中设置行为如下图。
意思是当参数@xzqh长度为0时,参数@rq不可用。
4.2 参数内容变化
当参数类型为“枚举下拉列表框”时,对应的属性如下图。
这里的枚举值的作用是可以动态修改定义枚举型参数的内容的情况。
4.3 实例介绍
4.3.1 参数联动实例1
下图是一张浮动分析表,按行业浮动,设计二个报表参数,一个是工商注册类型一级,一个是工商注册类型二级,我们想通过参数联动来实现选择第一级时,二级参数仅显示该大类下的二级工商注册类型。该如何实现列,嘻嘻,不急不急,听我细细道来:
1) 增加报表参数
首先我们规划行业大类用下拉列表的枚举值来实现,行业明细用维下拉来实现。
首先我们来了解一下枚举值的定义规则,显示值1:实际值1;显示值2:实际值2……。
那么我们就开始来做,一级下拉框设置如下:
接着我们来做二级下拉框,使用的是“维下拉框”,详细的设置如下图。
需要注意的是在属性的【高级】中【根节点显示】中我们设置了@yj,作用是设置二级下拉框的根节点为一级下拉框的值。
2) 保存参数
【属性】内容设置完成后,我们只需要点击确定即完成了参数的设定,在报表模板中点击工具栏中的保存按钮,即可完成报表参数的保存。
下面我们来看看给报表模板增加参数后的效果,我们在报表模板中进行相应的设置使数据期的分析范围根据我们报表参数的值来进行变化。报表模板设计中任何使用报表参数请详见报表模板设计的相关文档。
我们对修改好的报表模板进行计算,这是会弹出选择窗口,在这里我们看到有2个参数可供我们选择,如下图所示:
当我们在【一级】中选择【港澳台】时,【二级】显示的是港澳台下的行业明细,显示如下图所示,
报表参数的联动功能使我们在选择时不必在复杂的列表中查找需要的选项,使得我们的操作更简单明了。
4.3.2 参数联动实例2
通过结点过滤实现参数联动首先也是添加参数和设置属性(与设置行为实现一样),下面我们通过一个具体的需求,讲解如何通过结点过滤实现参数联动。
【需求说明】
需求如下图,要求参数“日期选择”下拉框显示的值为“日期起(@rqq)”和“日期止(@rqz)”之间的年份,包含“日期起”和“日期止”的年份。
【如何实现】
首先在添加日期起(@rqq)和日期止(@rqz)两个日期年类型报表参数,如下图:
然后在报表参数中找到“日期选择”(@rqxz)属性——>节点过滤,如下图:
在编写公式区中输入:item.id>=@rqq and item.id<=@rqz
公式解释:
item.id表示“日期选择”维的值;
@rqq是“日期起”输入框的年份;
@rqz是“日期止”输入框的年份;
【实现效果】
开始时间选1997,结束时间选2015,“日期选择”所显示的内容如下图。
请先登录