让决策更智能
新一代智能数据分析平台

复杂报表-织布式拼接报表

观小数发表于:2021年12月17日 11:39:00更新于:2021年12月17日 14:42:55

什么是织布式拼接报表

观察图 1 的 Excel 报表,该报表可以认为是多块内容的拼接。

图1 - 报表需求:

00161bc0529c5daa9b3ac53074722c8

      首先,报表内容分为 [当月] 和 [当年累计] 两大块,两大块表头相同,指标雷同且仅指标取数日期口径不同。可以理解为 [当月报表] 和 [当年累计] 报表左右拼接为一张大报表。

      其次,因指标太多,指标层级也比较混杂,客户在 Excel 里就用空白行做了区分。截图中就有 销量与销售额、销售成本、毛利、渠道促销活动 4 个大块。这四大块在纵向上上下拼接为报表。

      也就是说,这张 Excel 报表,单独裁切出一小块,语义都是完整的。这种报表,既可以认为是一张面幅巨大的报表,也可以认为是多张小报表的拼接报表

  • 对于拼接报表,如果行表头简单,可能可以直接通过 [维度组 - 指标名 - 指标值] 这种形式的数据集,在普通表格卡片里完成制作。

  • 如果行表头复杂,则同时存在多种计算模式,则可能只能采用复杂报表卡片制作完成。

行表头分析:

  • 可直接分组聚合的表头:这是最喜闻乐见的表头,例如销售成本部分,分细项行(有文本缩进)和汇总行(即加粗字体的销售成本行)。复杂报表的纵向展开可以完成制作。

    细项展开可能在汇总行的上方,也可能在汇总行的下方。

    汇总行因为有自己的行表头,所以实现时未使用复杂报表的小计功能,通过 excel 的 sum 函数完成计算。

  • 占比值:占比值的存在使得报表不能直接用表格卡片完成。图里的占比值有:销售折扣率、毛利率、运费%。都是可以通过 细项指标/总指标 的方式计算得到,分子也可能是多个细项的加减运算。复杂报表里也是通过 excel 的格间计算实现。

  • 增长率:与占比值不同,增长率的计算跨列了。量增长 = 本月实际/去年同期 - 1。也需要 excel 的格间计算来实现。

由此可见,这个报表并不是每一行的指标计算方式都是一样的,意味着报表的实现需要逐行逐个指标地实现。制作这份报表就像织布一样,纵向上指标确定(实际、预算、预测、差异等),横向上要逐行编织每个指标,所以可以叫做织布式报表。

图1 中的报表就是织布式拼接报表。

报表的实现

分析清楚报表的构成后,即可逐块完成报表。

实现要点:

  • 单元格指标

  • 多个视图数据集:因为指标分块实现,计算模式不同,每个视图数据集采用统一计算模式处理这一块的指标,有效降低实现难度。图2中实现的部分就用了 5 个视图数据集(见图3)。

图2 - 已实现的样例部分

00161bc0578a6d0fd56ef443df3e765


单元格指标的实现

复杂报表公式目前(2020-08-20)还不能方便地在某个单元格上直接呈现一个指标,这里介绍一种实现方式。

  • 复杂报表卡片里新建一个视图,视图仅包含需展示的指标。如下图,仅保留销售额的几种指标。这样在 excel 模板中写 &=View!实际值 时,纵向扩展为 1 行,值等于图中的 2100。

图3:

00161bc05a2825ab76361b98c614ce5

剩余部分

单元格指标实现后,采用 Excel 的格间计算能力。所有的指标都可以被计算出来了。这里直接贴 Excel 的公式,作为参考。不再赘述复杂报表的计算功能。


图4 - Excel 模板中的公式:(线下模板公式参考)

00161bc05c97f6d71cb130f8058b699


注意:

  • 灰色底的格子需隐藏后再上传 Excel

  • 使用 Excel 的格间计算是不需要用 sum 的,图4里有几处多此一举了。但对纵向展开的公式 &= 做聚合时必须使用 sum。


    您需要登录后才可以回复