亿信ABI

浮动维属性设置

1. 概述

浮动维表元上除了公共属性外,还提供了一些浮动维表元特有的属性,包括排序类型、排序依据、分组类型(选择模式)、下钻级次、结果集过滤、TOPN,TOP%、维过滤、浮动块颜色和拆分浮动块等,以实现浮动相关功能和效果。

我们以之前章节制作好的两张(考勤统计表和工作区域分析表)分析表为例,分别介绍这些特有属性以及显示表达式属性的作用和用法。

考勤统计表:

浮动维属性设置

工作区域分析表:

浮动维属性设置

2. 浮动维属性设置

1)排序设置

如需实现“按工作区域代码升序排列”,我们就需要在浮动维表元上设置排序。

点击浮动维表元A2,设置【排序类型】为升序,属性设置中就会出现【排序依据】,排序依据用于指定按照哪个表元进行排序。这里需要按照工作区域代码升序,即按照当前浮动维表元排序,故可以不设置排序依据,或者设置排序依据为A2

浮动维属性设置

工作区域代码如下:

排序结果如下:


也可以设置按照其他表元排序。例如:【排序依据】设置为B2,则表示按照人数升序排序。


【排序依据】这里支持表达式,比如下图中分析表,排序依据为G2^E2,表示按照计划还款日期和还款类型合并的字符串进行排序,即先按照计划还款日期升序,再按照还款类型升序。

浮动维属性设置

另外,【排序类型】和【排序依据】还支持宏表达式。例如:【排序依据】设置为<#=if(@nf='2018','A2','C2')#>,表示参数@nf选择2018年时,按照工作区域代码升序排序,选择其他年份,按照人数升序排序。


2)分组设置

如需实现按某些分组去展现数据,则需对浮动维表元设置合适的分组类型去实现,亿信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%";

......

 

计算后,按照设置的分组显示,如下图:


3)下钻级次

浮动维分析表,默认按浮动维字段分组统计,通常情况下浮动维字段是个维字段(关联了维表),这时,我们可通过设置【下钻级次】属性实现按维度的任一层级进行分组统计。比如,这里我们设置【下钻级次】为中心

浮动维属性设置

计算后则是按中心统计考勤情况:


【下钻级次】这里支持宏表达式。例如:【下钻级次】设置为<#=if(@ry='',0,@ry.level)#>,含义是:当参数“人员”为空时,下钻级次为0,即展示第一级,也就是公司这一级,否则展示所选节点这一级的数据,比如人员选择了“商务智能一部”,则展示商务智能一部这一级的数据,人员选择“项目中心”则展示项目中心这一级的数据。


选择参数后,计算如下图所示:


4)结果集过滤

结果集过滤可实现对分析统计的结果再进行过滤,所以此处不能再引用主题表的字段,需要是表元。例如:以工作区域分析表为例,需要只显示员工人数大于10的数据,则设置结果集过滤为GRID12.B2>=10(或者B2>=10,表格代号GRID12可以不要 )。浮动维属性设置

报表计算后,效果如下图所示:

浮动维属性设置

5)TOPN,TOP%

浮动维表元支持设置TOP,一般结合排序使用,可实现如“挑出成绩前十名的学生”、“显示GDP占比在前50%的省份”等需求。

TOPN:按照某项指标排序后,只显示指定的前N行,须是大于或等于1的数值,例如:显示人数前5的区域。


计算结果:显示人数前5的区域


TOP%:按照某项指标排序后,返回这些指标的前N行数据,这前N行该项指标的合计占总量的百分比等于或最接近指定的百分比。例如:显示人数占比在前50%的区域。



计算结果:


【TOPN,TOP%】也支持宏表达式,可根据参数动态求前几或者后几(排序类型为降序,则是求前几名,为升序,则是求后几名)。例如,报表有个@top参数,设置【TOPN,TOP%】为<#=@top#>


参数@top输入5时,计算结果如下:


参数@top输入8时,计算结果如下:

6)维过滤

维过滤是指根据维表数据,对报表数据进行补足和过滤。

 

  • 补足维数据:数据分析时,有时由于源数据的不完整,需要将不存在的维列出来。比如:按行业大类分组分析,数据表只有农业、建筑业、采矿业等,但是需求需要将金融业等列出来,已保证报表显示的完整性。
  • 过滤不在维中的数据: 一些表数据不标准,产生一些维编码以外的数据,可能为垃圾数据,这些数据需要过滤掉,选择过滤不在维中的数据就可以。
  • 以上皆选:同时满足以上的条件,补足维的缺失数据,同时过滤不在维编码内的数据。

设置维过滤后,可以选择参考维。参考维为无时,是按照主题表中该字段关联的维表作为参考依据;选择了某一维度,则是按照选择的维度作为补足维和过滤维的参考依据。

7)浮动块颜色

浮动块颜色用于控制当前浮动区的数据行的背景颜色,通常用于实现奇偶行颜色各异。 设置浮动块颜色之后,在浮动范围内的表元都会使用这个作为表元背景色。如下图所示:


这里self.isodd是判断当前表元的index是否是奇数,如果是则背景色为'#FFCC00',否则显示成 '#FF2D55',这里的判断依据以根据实际情况来进行变化。


8)拆分浮动块

“拆分浮动块”用于设置是否合并显示,abi中允许多个浮动维表元嵌套,当相同的外层浮动维表元值对应有多个内层浮动维表元值时,会将这个外层浮动维值放到一个合并表元中显示,如下图所示:


勾选“拆分浮动块”,效果如下: