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

Google Data Studio 如何实现表格逐行百分比变化计算

解决方案

下面两种方案均可实现需求,且支持仪表盘日期范围控件的动态筛选:

方案1:使用BigQuery自定义查询作为Data Studio数据源(推荐)

该方案复用你原有LAG函数逻辑,扩展性强,适配流程变动的场景:

  • 第一步:在Data Studio添加数据源时选择BigQuery,再选择「自定义查询」选项
  • 第二步:写入如下SQL逻辑,替换对应表名和字段名即可:
WITH filtered_events AS (
  SELECT 
    event,
    SUM(event_count) AS event_count
  FROM `你的项目ID.你的数据集名.你的事件表名`
  -- 以下为Data Studio内置动态日期参数,自动响应仪表盘日期控件选择范围
  WHERE 你的日期字段 BETWEEN PARSE_DATE("%Y%m%d", @DS_START_DATE) AND PARSE_DATE("%Y%m%d", @DS_END_DATE)
  GROUP BY event
  ORDER BY event_count DESC
)
SELECT 
  event,
  event_count,
  ROUND(IFNULL(100 * (event_count / LAG(event_count) OVER(ORDER BY event_count DESC) - 1), 0), 2) || '%' AS `% change`
FROM filtered_events
  • 第三步:保存数据源后直接用该数据源制作表格即可,百分比列会随筛选条件自动更新。

方案2:固定用户旅程场景下直接用Data Studio计算字段实现

如果你的用户旅程路径固定不会新增步骤,可以直接在Data Studio中新建三个计算字段实现:

  1. 新建event_order字段,给每个事件分配固定排序序号:
CASE event
  WHEN 'sign-up button' THEN 1
  WHEN 'confirm account' THEN 2
  WHEN 'Log in button' THEN 3
  WHEN 'ProductX button' THEN 4
  WHEN 'ProductY button' THEN 5
  WHEN 'Payment button' THEN 6
  ELSE 99
END
  1. 新建prev_event_count字段,获取上一步骤的点击量:
CASE event_order
  WHEN 2 THEN SUM(CASE WHEN event_order = 1 THEN event_count ELSE 0 END) OVER()
  WHEN 3 THEN SUM(CASE WHEN event_order = 2 THEN event_count ELSE 0 END) OVER()
  WHEN 4 THEN SUM(CASE WHEN event_order = 3 THEN event_count ELSE 0 END) OVER()
  WHEN 5 THEN SUM(CASE WHEN event_order = 4 THEN event_count ELSE 0 END) OVER()
  WHEN 6 THEN SUM(CASE WHEN event_order = 5 THEN event_count ELSE 0 END) OVER()
  ELSE 0
END
  1. 新建% change字段计算最终百分比:
ROUND(IFNULL(100 * (event_count / prev_event_count - 1), 0), 2) || '%'

注意:该方案后续新增旅程步骤时需要手动更新CASE逻辑,扩展性弱于方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:36:03