1.概述
浮动维表元上除了公共属性外,还提供了一些浮动维表元特有的属性,包括排序类型、排序依据、分组类型(选择模式)、下钻级次、结果集过滤、TOPN,TOP%、维过滤、浮动块颜色和拆分浮动块等,以实现浮动相关功能和效果。
我们以之前章节制作好的两张(考勤统计表和工作区域分析表)分析表为例,分别介绍这些特有属性以及显示表达式属性的作用和用法。
考勤统计表:
工作区域分析表:
2.使用说明
1)排序设置如需实现“工作区域的降序排列”需求,我们就需要在浮动维表元上设置排序,即A2。
点击浮动表元A2,系统默认的排序类型为“无”,选择“升序”,属性设置中就会出现“排序依据”。
排序依据为空时,按照工作区域字段的代码进行升序排序。工作区域代码如下:
排序结果如下:
排序依据支持指标表元,例如:排序依据为B2时,表示根据人数进行升序排序。
排序依据也支持宏表达式,例如:根据不同的参数值选择不同表元进行排序,宏表达式为:<#=if(@nf='2018','A2','C2')#>,表示选择2018年时,按照工作区域字段的代码进行升序排序,选择其他年份,根据人数进行升序排序。如下图:
选择2021年,自动按照在职人数字段进行升序:
如需实现按某些分组去展现数据,则需对浮动维表元设置合适的分组类型(分组条件)去实现,亿信ABI提供如下几种分组类型:
我们以实际的案例讲解下按条件分组如何设置,需求和相关分析如下:
需求:地区分成五组,只看这五组的数据,分别是:华东地区、华南地区、华西地区、华中地区、华北地区。
分析:
华东地区包括:山东(行政区划以37开头)、江苏(行政区划以32开头)、安徽(行政区划以34开头)、浙江(行政区划以33开头)、福建(行政区划以35开头)、上海(行政区划以31开头);
华中地区包括:湖北(行政区划以42开头)、湖南(行政区划以43开头)、河南(行政区划以41开头)、江西(行政区划以36开头);
华北地区包括:北京(行政区划以11开头)、天津(行政区划以12开头)、河北(行政区划以13开头)、山西(行政区划以14开头)、内蒙古(行政区划以15开头)。
………………
实现:
点击浮动维表元(此例中是A2),右侧表元属性,系统默认的分组类型是“常规分组”,效果如下图:
现在需要分成5组,用条件来控制分组情况,分组类型选择“按条件分组”,属性中会出现“分组条件”,点击进入自定义分组的编辑窗口,通过点击“+”添加分组,设置对应的显示文字和公式:
华东地区,公式为:FACT_YGXX.GZDD like "37%" or FACT_YGXX.GZDD like "32%" or FACT_YGXX.GZDD like "34%" or FACT_YGXX.GZDD like "33%" or FACT_YGXX.GZDD like "35%" or FACT_YGXX.GZDD like "31%";
华中地区,公式为:FACT_YGXX.GZDD like "42%" or FACT_YGXX.GZDD like "43%" or FACT_YGXX.GZDD like "41%" or FACT_YGXX.GZDD like "36%";
华北地区,公式为:FACT_YGXX.GZDD like "11%" or FACT_YGXX.GZDD like "12%" or FACT_YGXX.GZDD like "13%" or FACT_YGXX.GZDD like "14%" or FACT_YGXX.GZDD like "15%"
计算后,按照设置的分组显示,如下图:
浮动维分析表,默认按浮动维字段分组统计,通常情况下浮动维字段是个维字段(关
联了维表),这时,我们可通过设置【下钻级次】属性,选择按维度的某一级次进行分组统计。比如,这里我们选择“中心”,
计算后则是按中心统计考勤情况:
【下钻级次】这里还支持输入宏表达式。例如:<#=if(@ry='',0,@ry.level)#>,含义是:当参数“人员”为空时,下钻级次为0,即展示第一级,也就是公司这一级,否则展示所选节点这一级的数据,比如人员选择了“商务智能一部”,则展示商务智能一部这一级的数据,人员选择“项目中心”则展示项目中心这一级的数据。
选择参数后,计算如下图所示:
结果集过滤可实现对分析统计的结果再进行过滤,所以此处不能再引用主题表的字段,需要是表元。例如:以工作区域分析表中,只显示员工人数大于10的工作区域,过滤条件GRID12.C2>=10
报表计算后,效果如下图所示:
浮动维表元支持设置TOP,一般结合排序使用,可实现如“挑出成绩前十名的学生”、“显示GDP占比在前50%的省份”等需求。
TopN:按照某项指标排序后,只显示指定的前N行,须是大于或等于1的数值,例如:显示人数前5的区域。
计算结果:显示人数前5的区域
TOP N也支持宏表达式,能够根据参数组件来动态求前几。例如,输入<#=@top#>,top的值为参数输入。
参数值输入5时,计算结果如下:
参数值输入8时,计算结果如下:
Top%:按照某项指标排序后,返回这些指标的前N行数据,这前N行该项指标的合计占总量的百分比等于或最接近指定的百分比。例如:显示人数占比在前50%的区域。
计算结果:
维过滤是指根据维表,对数据进行补足和过滤。
补足维数据:数据分析时,有时由于源数据的不完整,需要将不存在的维列出来。比如:按行业大类分组分析,数据表只有农业、建筑业、采矿业等,但是需求需要将金融业等列出来,已保证报表显示的完整性。
过滤不在维中的数据: 一些表数据不标准,产生一些维编码以外的数据,可能为垃圾数据,这些数据需要过滤掉,选择过滤不在维中的数据就可以。
以上皆选:同时满足以上的条件,补足维的缺失数据,同时过滤不在维编码内的数据。
设置维过滤后,可以选择参考维。参考维为无时,是按照主题表中该字段关联的维表作为参考依据;选择了某一维度,则是按照选择的维度作为补足维和过滤维的参考依据。
7)浮动块颜色通常报表会划成多个分析区,一个分析区中又可能有多个浮动表元,每个浮动表元有浮动范围,浮动表元浮动的范围叫浮动块。
浮动块颜色用于控制当前浮动区的数据行的背景颜色,通常用于实现奇偶行颜色各异。 设置浮动块颜色之后,在浮动范围内的表元都会使用这个作为表元背景色。如下图所示:
这里self.isodd是判断当前表元的index是否是奇数,如果是则背景色为'#FFCC00', 否则显示成 '#FF2D55',这里的判断依据以根据实际情况来进行变化。
“拆分浮动块”用于设置是否合并显示,abi中允许多个浮动维表元嵌套,当相同的外层浮动维表元值对应有多个内层浮动维表元值时,会将这个外层浮动维值放到一个合并表元中显示,如下图所示:
勾选“拆分浮动块”,效果如下:
显示表达式是用于控制计算后表元实际显示的内容。例如查看人员离职率时,数据显示加上%,则可在E2表元的“显示表达式”中设置:@txt+"%"。
计算后效果图如下:
请先登录