1. 概述
1.1 背景
我们常常需要获取特定时间段的数据,例如展示前 3 个月的销售额,以便我们能够深入分析和评估业务的情况。
总结而言,逐天或逐月获取特定时间段的数据对于时效性分析、季节性分析和绩效评估非常有帮助。这种数据获取方法使我们能够更好地了解业务的动态,并为决策和战略规划提供有力支持。
1.2 预期效果
我们想要逐月展示前 3 个月的销售额,如下图,2013-03 即求得 2013-01~2013-03 三个月的销售额;2013-07 即求得 2013-05~2013-07 三个月的销售额。
1.3 实现思路
使用 DEF+earlier 函数进行计算。
2. 操作步骤
2.1 添加数据
下载示例数据:超市销售数据.xlsx
创建一个分析主题,将下载的示例数据上传至主题。如下图所示:
2.2 处理数据
1)由于我们的初衷是想对月数据进行累加,所以可以在自助数据集中先进行「分组汇总」。将数据按月进行分组方便之后进行计算,且可以有效减少数据量。
2)由于在之后需要使用 earlier 函数进行行间计算(即上下行进行计算),有序号可以方便我们去判断哪行是上行,哪行是下行。
所以在这里我们添加一个序号列。
点击「新增汇总列」,对订单日期进行升序排名,如下图所示:
3)点击「保存并更新」,保存更改。
2.3 制作组件
1)选择图表类型为「分组表」,并将字段拖入组件中。其中订单日期的分组选择「年月」,销售额的数值格式更改为「万」,如下图所示:
为了方便之后理解,我们可以把「序号」也拖入到组件中。即在左侧复制一个序号字段,然后将其转化为维度,拖入组件,分组方式选择「相同值为一组」。
2)计算前 3 个月的销售额。新增计算字段「前3个月的销售额」,输入公式如下图所示:
公式分解 | 描述 | 函数帮助文档 |
---|---|---|
SUM_AGG(销售额) | 对销售额求和 | SUM_AGG |
DEF_ADD(SUM_AGG(销售额),[]) | 将数据按当前维度分组,再对分组后的销售额求和 | DEF_ADD |
DEF_ADD(SUM_AGG(销售额),[],[序号<=EARLIER(序号),序号>=EARLIER(序号-2)]) | 对序号进行过滤,过滤出前三个月对应的序号 获得结果即为对前三个月销售额进行求和 | EARLIER-获取当前行的值 |
3)将「前3个月的销售额」拖入组件,数值格式的单位选择为「万」。如下图所示:
如此,从第三个月开始,便可展示前 3 个月的销售额的和。
2.4 效果查看
详情请参见本文 1.2 节