观远 BI

复杂报表添加行序号

创建于 2023-07-06 / 最近更新于 2023-09-19 / 1209
字体: [默认] [大] [更大]

需求背景

      在制作复杂报表的时候,有时用户需要复杂报表像普通表格或者Excel一样在左侧显示行序号。在复杂报表里,通常会用格间计算公式=G_CELLCALCEXP()来实现。本文将按不同的需求场景来演示添加行序号的方法。

场景一:按数据行依次进行自增序号排序

图片.png

【实现方式】:利用Excel函数ROW()实现。

行序号写法:=G_CELLCALCEXP(ROW()-1)

图片.png

场景二:按维度分组,在组内依次进行自增序号排序(同一分组,序号不同)

图片.png

【实现方式】:利用位移单元格来判断实现(当前行B列单元格值是否等于B列上一行单元格值)。

行序号写法:=G_CELLCALCEXP(IF(B{r}=B{-1},{c}{-1}+1,1))

图片.png

场景三:按维度分组,按分组ID依次进行自增序号排序(同一分组,序号相同)

图片.png

【实现方式】:利用位移单元格来判断实现(当前行B列单元格值是否等于B列上一行单元格值)。

行序号写法:=G_CELLCALCEXP(IF(ROW()=2,1,IF(B{r}=B{-1},{c}{-1},{c}{-1}+1)))

图片.png

注意事项

  1. 场景二、三要注意,不能对格间计算公式中涉及的维度列设置合并单元格(即动态属性不能勾选分组),否则会出现不符合预期的序号结果。如果需要对维度列设置合并单元格的话,建议做法:复制该维度列,单元格动态属性不勾选分组,并设置隐藏该列,行序号公式引用隐藏列。

    图片.png

    效果如下:

    图片.png

  2. 场景三里生成的重复行序号不能合并单元格展示,如果需要像维度列一样合并单元格,建议在视图里对数据进行排序并生成序号,在模板里直接使用序号字段。

  3. 行序号跟数据排序无关,排序请在视图里设置。


1 人点赞过