如何在Data Studio中实现BigQuery数据转置表格并保留文本条件格式?
问题:Data Studio中实现店铺状态表格转置并保留条件格式?
背景与任务
需在Data Studio仪表盘中监控不足20家店铺的状态,示例仅展示两家。对应的BigQuery表包含以下字段:
shop:店铺名称,始终有值status:店铺状态,仅数据变更时填充info:店铺附加信息,仅数据变更时填充sold_today:当日销量,仅数据变更时填充update_time:数据更新时间,始终有值
核心任务:展示每家店铺各字段的最新记录。
示例BigQuery建表代码
create or replace table dsadds.eu.dummy as( Select "shop A" as shop, 1000 as sold_today, "sale ABC" as info, 0 as status,timestamp( "2022-09-05") as update_time union all select "shop A",null,null,1,"2022-09-06" union all select "shop A" as shop, 500 as sold_today, "open" as status,3,"2022-09-01" union all Select "shop B" as shop, 700 as sold_today, "open" as status,3,current_timestamp() as update_time )
原始数据的问题
直接将原始表导入Data Studio并设置条件格式(Status=1时标记红色)后,会出现店铺重复显示、字段值为null的情况,比如Shop A会有多条记录,部分字段无值,展示效果混乱。
获取最新记录的解决方案
通过自定义BigQuery语句,可以提取每家店铺各字段的最新非空值,语句如下:
with tbl as (select shop, array_agg(sold_today ignore nulls order by update_time desc limit 1)[safe_offset(0)] sold_today, array_agg(info ignore nulls order by update_time desc limit 1)[safe_offset(0)] info, array_agg(status ignore nulls order by update_time desc limit 1)[safe_offset(0)] status from dsadds.eu.dummy group by 1 ) select * from tbl
执行后得到的表格中,每家店铺仅显示一行,各字段均为最新的非空值,满足基础展示需求。
转置需求
用户希望将上述表格转置:
- 原表格的列(sold_today、info、status)转为行标签
- 店铺名称作为列
- 最终展示为:每行对应一个字段,每列对应一家店铺,单元格显示对应店铺该字段的最新值,同时保留
Status=1标记红色的条件格式。
若为每个数据项单独创建Scorecard,10家店铺对应3个字段会超出单页图表数量限制,不可行。
核心问题
是否存在可行方法,实现表格转置的同时保留原有的条件格式?
内容的提问来源于stack exchange,提问作者Samuel
相关产品推荐
相关产品推荐

