如何基于Google Forms多选网格数据在Data Studio复现直方图
Google Data Studio复现多选网格题型直方图操作方法
核心卡点是Google Forms导出的多选网格数据默认是宽表结构:单份答卷占一行,每个网格行问题对应单独一列,单元格存储用户选中的列选项,这种结构无法直接在Data Studio里做分选项聚合统计,必须先做结构转换,全程操作10分钟就能搞定:
第一步:在Google Sheets中做数据逆透视转换
不用写复杂脚本,用自带函数就能实现自动更新的长表转换,后续表单收新数据不用重复处理:
- 打开表单自动同步的响应表格,新建空白工作表,命名为「长表数据源」
- 在新表A1单元格输入公式:
=QUERY(FLATTEN(ARRAYFORMULA(IF('表单响应 1'!B2:Z<>"",{'表单响应 1'!B1:Z1&"|"&'表单响应 1'!B2:Z},))),"where Col1 is not null"),注意把公式里的'表单响应 1'!B2:Z替换成你自己网格题实际覆盖的单元格范围 - 选中A列整列,点击顶部菜单「数据」-「拆分文本为列」,分隔符选择自定义,输入
|,拆分后两列分别命名为「子问题项」、「选中选项」 - 新增第三列,列名设为「计数」,C2单元格输入
1,下拉填充整列,后续聚合时直接求和即可
第二步:在Data Studio中配置图表
- 新建报表,数据源选择刚才处理好的「长表数据源」工作表
- 插入条形图(选择堆叠条形图样式,和Forms原生直方图视觉效果一致)
- 维度栏按顺序先拖入「子问题项」,再拖入「选中选项」,顺序不能调换,否则分组逻辑错误
- 指标栏拖入「计数」,聚合方式选择「求和」
- 排序规则选择按「子问题项」匹配原始表单顺序,如果子问题排序错乱,提前在Sheets长表中给子问题加序号列,按序号排序即可
- 样式调整:关闭Y轴多余网格线,图例放在图表顶部,选项配色匹配Forms默认的蓝/红/橙/绿序列,条形间距调整为10%左右,就能和原生生成的直方图视觉效果完全一致
常见问题处理
- 如果需要展示选项占比而非绝对计数,在Data Studio中新增计算字段:
SUM(计数)/SUM(计数) OVER (PARTITION BY 子问题项),字段格式设置为百分比即可,和Forms原生的百分比视图逻辑完全一致 - 不要直接用原始宽表写CASE WHEN做统计,子问题数量多的时候维护成本极高,且无法自动适配新增的答卷数据
- 配置完成后只要Sheets端公式保留,表单新收集的响应会自动同步到长表,Data Studio设置15分钟自动刷新数据源即可实现报表自动更新
内容的提问来源于stack exchange,提问作者Osaama Shehzad
相关产品推荐
相关产品推荐

