414数据重塑术:PIVOTBY函数打造PMC智慧行动的销售分析蓝图

职场计划有古哥 2024-06-08 14:10:16

全文约3000字;

阅读时间:约9分钟;

听完时间:约18分钟;

在PMC制定生产计划时,分析工厂产品销售数据的过程中,可能会遇到这样的情况:数据以表格形式呈现,但其结构不利于直接汇总和分析。比如参考下图展示的《产品销售明细表》,这是一个专为销售部门设计的三维报表。报表的垂直轴(列方向),从B3到B17,详细列出了各个销售小组的信息,包括第1组、第2组直至第3组等。

水平轴(行方向)的第二行,则记录了不同的销售日期,例如4月1日、4月2日等。值得注意的是,此行中的日期采用了合并单元格的形式展现,即连续的三个单元格(如C2至E2)被合并为一个单元格来表示单个日期。

紧接着的第三行标识了产品类别,横跨所有日期(包括那些合并的单元格范围),如C3至E3列示了“产品A”、“产品B”和“产品C”。这些产品下方的矩阵区域C4:CN17则包含了与之相对应的具体销售数据,直观地展现了各销售小组在不同日期针对每种产品的销售业绩。

需求分析

目前,PMC生产计划面临的需求是对上述三维报表实施多维度的汇总分析。首先,第一种分析维度要求按照日期汇总各个小组及产品的销售量。在这种需求下,报表布局将调整为日期沿垂直轴排列,而小组信息与产品种类则沿水平轴展开,形成一个新的三维报表结构。关键在于将原报表中的日期维度进行转换并加以汇总。

其次,第二种分析维度旨在依据日期与产品组合进行汇总,依旧保持日期沿垂直轴分布,而产品类别则横跨水平轴,构成一个更为紧凑的二维表格。这种整理方式有助于直观对比不同产品在各日期的销售概况。

期望达成的展示效果可参考下图示意,通过这两种维度的重新组织和汇总,能够为PMC生产计划提供更清晰、细化的数据支持。

3维转2维

为了全面满足上述分析需求,原报表需先经过整理,转化成一个统一的一维表格格式。这是数据分析的一项基本策略,即利用一维表作为基础,因其灵活性高,可以根据不同的分析需求轻松变换为多维或二维报表。一旦拥有这样一个核心的一维表,无论是生成用户所需的二维视图,还是构建更为复杂的多维度报告,都能够迅速且灵活地实现。

首先把原表的三维报表转换成二维报表。在CP2录入标题:“日期”,然后在CP3录入以下函数:

=REPTARRAY(SEQUENCE(30,,"2024-04-01"),COUNTA(B4:B17),)

函数说明如下:

SEQUENCE 函数生成一个序列,包含30行,始于2024年4月1日,每日递增;

COUNTA 函数计算范围B4至B17中非空单元格的数量,这里返回值为14;

自定义函数 REPTARRAY 作用是重复序列。它将由 SEQUENCE 产生的日期序列垂直重复14次,从而生成一个数组,该数组在垂直方向上从2024年4月1日延续至4月30日,并且整个序列总共重复了14次。

这样,您就能获得一个日期列,其中4月1日至4月30日的日期连续排列,并且这一序列总共往下重复了14行。

在CQ2单元格中输入标题“组别”。紧接着,在CQ3单元格内录入以下公式:

=REPTARRAY(B4:B17,30,)

函数解释:

此函数的作用是将范围B4至B17内的内容(例如不同的组别名称:“1组”、“2组”等)重复排列,总共重复30次。这样的操作确保了每个组别能够与之后构建的日期序列相对应,形成一一对应的关系,便于数据分析或组织展示。

在CR2单元格中,直接输入公式 =C3:E3 来引用《产品销售明细表》中的产品名称作为列标题,例如“产品A”、“产品B”、“产品C”。

在CR3单元格,录入公式:

=WRAPROWS(TOCOL(C4:CN17),3)

关于函数的解释如下:

TOCOL 函数的作用是将C4至CN17范围内的数据(覆盖至4月30日的销售数据细节)转换成一列,这样便于后续处理。

WRAPROWS 函数,其功能是将前面TOCOL函数生成的单一列数据,重新排列为每3行数据组成新的一行,实现从纵向数据到横向分组的转换,以便于观察和分析。

2维转1维

上面的数据实现了三维报表转成二维报表,接下来需要把二维报表转换成一维报表。分别定义上面的公式结果

日期:=REPTARRAY(SEQUENCE(30,,"2024-04-01"),COUNTA(B4:B17),)对应CP3#

组别:=REPTARRAY(B4:B17,30,)对应CQ3#

产品:=C3:E3,对应CR2#

销量:=WRAPROWS(TOCOL(C4:CN17),3)对应CR3#

在CV2:CY2分别录入{"日期","组别","产品","销量"}

日期公式:

=TOCOL(IF(CR3#>=0,CP3#))

组别公式:

=TOCOL(IF(CR3#>=0,CQ3#))

产品公式:

=TOCOL(IF(CR3#>=0,CR2#))

销量公式:

=TOCOL(CR3#)

效果如下图所示:

汇总分析

拥有一维数据后,最高效的汇总分析工具莫过于数据透视表。我们选定这一系列数据,执行以下步骤进行配置:将“日期”拖动到行标签区域,“组别”和“产品”移至列标签区域,接着,将“销量”字段添加到值区域以进行汇总计算。为进一步优化视图,再次将“销量”拖放到筛选区域,并设置筛选条件为仅显示大于0的记录。最终呈现的透视表效果正如下图所示,直观清晰地展示了按日期、组别和产品分类的销量汇总。

除了利用数据透视表进行数据分析,采用函数进行分析也是一种选择,它的优势在于能够实时反映数据变化,无需手动刷新。以下是采用函数进行分析的示例:

录入函数如下:

=PIVOTBY(CV3#,HSTACK(CW3#,CX3#),CY3#,SUM,,0,,0,,CY3#>0)

该函数的运作机制与数据透视表相似,具体解析如下:

行标签:CV3# 包含日期序列,作为数据分组的行轴。

列标签:通过 HSTACK(CW3#, CX3#) 将“小组”(CW3#)与“产品”(CX3#)信息水平合并,形成多级列标签。

值标签:CY3# 对应于“销量”列,即我们要汇总分析的关键数值。

聚合函数:SUM 用于计算每个分组的销量总和。

参数说明:两个逗号分隔的0意指不显示额外的汇总行或列。

筛选条件:CY3# > 0 确保仅汇总销量大于零的记录,排除无效或负值数据。

通过此函数,我们直接在工作表中实现了与数据透视表类似的功能,即时且精准地完成了按日期、小组和产品的销量汇总分析。

公式合并

上述结果原本借助了辅助列实现,若希望避免使用辅助列,可以通过整合公式来达到目的。整合后的公式如下所示:

=LET(

CR, WRAPROWS(TOCOL(C4:CN17), 3),

B, B4:B17,

PIVOTBY(

TOCOL(IF(CR >= 0, REPTARRAY(SEQUENCE(30, , DATE(2024, 4, 1)), COUNTA(B)))),

HSTACK(TOCOL(IF(CR >= 0, REPTARRAY(B, 30))), TOCOL(IF(CR >= 0, C3:E3))),

TOCOL(CR),

SUM, , 0, , 0, , TOCOL(CR) > 0

)

)

函数解释如下:

LET 函数首先定义了几个变量以简化公式并提高可读性:

CR 代表销量数据,通过 WRAPROWS 和 TOCOL 转换为一维数组。

B 直接引用了组别范围 B4:B17。

PIVOTBY 函数执行了主要的数据透视操作:

行标签:使用 IF 条件判断确保销量大于等于0时,才应用 REPTARRAY 生成日期序列并与组别计数匹配,最后通过 TOCOL 转换为一维数组。

列标签:同样利用 IF 进行筛选,REPTARRAY 分别重复组别信息和产品信息,与销量条件同步,通过 HSTACK 合并为多列标签,再分别转换为一维数组。

值:直接使用销量数据 CR 经过 TOCOL 处理。

聚合函数:SUM 用于求和销量。

其他参数:两个0 表示不显示额外的汇总项;最后的筛选条件 TOCOL(CR) > 0 确保仅汇总有效销量。

此公式通过直接嵌套逻辑,实现了不依赖辅助列的复杂数据透视功能,提升了公式的一体化程度和数据处理效率。

最后总结

总之,面对原始三维报表分析的挑战,我们通过一系列精心设计的步骤和高级WPS函数的应用,成功地将数据重塑为易于分析的一维结构,并实现了高效汇总。这一过程不仅克服了数据布局的限制,还展示了如何灵活运用现代电子表格工具的强大功能来进行复杂数据分析。

整合后的公式利用LET函数组织逻辑,不仅提高了公式的可读性和维护性,而且通过直接在公式内部进行条件判断与数据重塑,有效避免了创建辅助列的需要,使得数据处理流程更加精简。PIVOTBY函数的巧妙运用,相当于在公式层面复现了数据透视表的核心能力,确保了数据分析的深度和广度。

此解决方案不仅满足了PMC生产计划对多维度汇总分析的迫切需求,还为此类复杂数据分析场景提供了一个高度优化的范式。它证明了在处理实际业务问题时,深入理解数据结构、熟练掌握高级函数应用以及不断创新解决问题的方法论,是提升工作效率、实现数据驱动决策的关键。通过这种方法,企业可以更快地从海量数据中提炼出有价值的信息,为生产计划的精准制定和市场策略的灵活调整奠定坚实的数据基础。

0 阅读:1

职场计划有古哥

简介:感谢大家的关注