You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Data Studio中计算列间环比增长率?

在Google Data Studio中计算月度环比增长率

问题背景

现有如下数据集:

categoryFebruary 2022March 2022April 2022
Gold145716271890
Silver196224153036
Bronze5683752010169

需要计算每个品类每月相对上月的增长率,比如Gold 2022年3月的增长率为:

(1627 - 1457)/1457 = 11.67%

预期结果如下:

categoryFebruary 2022March 2022April 2022
Gold-11.67%16.16%
Silver-23.09%25.71%
Bronze-32.32%35.23%

之前尝试对比计算中的「与总计的百分比差异」未成功,希望直接在Data Studio内实现,避免硬编码。

解决方案步骤

1. 转换数据格式(宽表转长表)

Data Studio的时间序列计算更适配长表结构,需先将原宽表转换为长表:

  • 新表包含三列:category、month、value
  • 转换后数据示例:
categorymonthvalue
GoldFebruary 20221457
GoldMarch 20221627
GoldApril 20221890
SilverFebruary 20221962

可在Google Sheets中通过「数据透视表逆透视」或QUERY函数完成转换,之后重新连接到Data Studio。

2. 创建环比增长率计算字段

连接转换后的长表数据源后,创建计算字段:

  1. 进入数据源编辑界面,点击「添加字段」
  2. 命名字段(如月度环比增长率)
  3. 输入计算公式:
(VALUE - LAG(VALUE, 1) OVER (PARTITION BY category ORDER BY month)) / LAG(VALUE, 1) OVER (PARTITION BY category ORDER BY month)
  • LAG(VALUE,1):获取当前品类上一个月的数值
  • PARTITION BY category:按品类分组计算
  • ORDER BY month:确保按月份顺序取值

3. 配置可视化组件

  1. 添加表格组件,维度选择category和month,指标选择刚创建的月度环比增长率
  2. 调整指标格式:设置为百分比,保留两位小数
  3. 如需还原宽表列展示形式,使用数据透视表:
    • 行维度:category
    • 列维度:month
    • 值:月度环比增长率
    • 第一个月份无上月数据,可修改计算字段将空值替换为-:
      CASE
        WHEN LAG(VALUE, 1) OVER (PARTITION BY category ORDER BY month) IS NULL THEN '-'
        ELSE (VALUE - LAG(VALUE, 1) OVER (PARTITION BY category ORDER BY month)) / LAG(VALUE, 1) OVER (PARTITION BY category ORDER BY month)
      END
      
      注:添加判断后字段变为文本类型,需单独处理百分比格式,或在表格中设置空值显示为-。

关键说明

  • 原宽表格式不适合序列对比计算,转长表是核心前提
  • LAG()窗口函数是实现环比的关键,可按分组和排序逻辑获取前一行数据
  • 「与总计的百分比差异」是和总计值对比,无法实现上月环比,因此不适用

内容的提问来源于stack exchange,提问作者Bale Rudal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:48:22