如何将同行异列数据转换为同列异行?适配Google Data Studio图表
如何将宽格式数据转换为Google Data Studio适配的长格式?
刚接触数据可视化的话,这种宽转长的需求确实容易懵——这个操作其实叫逆透视(Unpivot),是Google Data Studio(现更名Looker Studio)这类工具常用的数据格式转换,给你几个简单易上手的方案:
方案1:用Google Sheets内置逆透视功能(最省心)
如果你的原始数据存在Google Sheets里,直接用内置功能一键转换:
- 打开存放数据的Sheets表格,选中包含表头(Date/Apple/Banana/Cherry)和所有数据行的区域
- 点击顶部菜单栏的 数据 > 逆透视列 > 逆透视除第一列外的所有列
- 系统会自动生成转换后的表格,最后把自动生成的表头(比如「属性」改成Type,「值」改成Amount)调整成你需要的名称就行
方案2:用Google Sheets公式实现自动化转换
如果需要动态更新(原始数据变了,转换结果自动同步),可以用公式组合:
假设原始数据在A1:D4区域(A列是Date,B-D列是水果数据),在空白单元格(比如E1)输入以下公式:
=QUERY(FLATTEN(A2:A4&"|"&B1:D1&"|"&B2:D4), "SELECT SPLIT(Col1, '|')[OFFSET(0)] AS Date, SPLIT(Col1, '|')[OFFSET(1)] AS Type, SPLIT(Col1, '|')[OFFSET(2)] AS Amount WHERE Col1 IS NOT NULL LABEL SPLIT(Col1, '|')[OFFSET(0)] 'Date', SPLIT(Col1, '|')[OFFSET(1)] 'Type', SPLIT(Col1, '|')[OFFSET(2)] 'Amount'")
这个公式的逻辑是:先用FLATTEN把所有行的日期、水果名、数值合并成一列(用|分隔),再用QUERY拆分并整理成规范的表头和数据。
方案3:如果数据源是SQL(比如BigQuery)
如果你的数据存在SQL数据库里,直接用UNPIVOT语法查询出长格式数据:
SELECT Date, Type, Amount FROM your_table_name UNPIVOT ( Amount FOR Type IN (Apple, Banana, Cherry) )
把查询结果直接作为Data Studio的数据源就行。
转换完成后,你只需要把这份长格式数据连接到Data Studio,就能用Date和Type作为维度,Amount作为指标,轻松创建符合需求的图表了。
内容的提问来源于stack exchange,提问作者David Folkerson
相关产品推荐
相关产品推荐

