如何在Data Studio中显示YouTube视频名称?(基于BigQuery传输数据)
嘿,这个需求我之前处理过,刚好有几个实用的方法可以帮你在Data Studio里显示视频名称,结合你现有的BigQuery+Data Studio流程,给你整理了三个方案:
方案1:在BigQuery中补充视频名称(最推荐,一劳永逸)
既然你的YouTube Analytics数据已经存在BigQuery里,直接在BQ层面把视频名称补进去,后续同步到Data Studio就自动有这个字段了,是最省心的方式。步骤如下:
- 第一步:在Google Cloud控制台启用YouTube Data API v3,创建服务账号密钥并下载JSON文件(用于后续API调用权限)。
- 第二步:在BigQuery里创建一张存储视频元数据的表
video_metadata,字段设为video_id(字符串)和video_name(字符串)。 - 第三步:编写定时查询,定期同步视频ID对应的名称。如果你的视频不是特别新,可以直接用BigQuery公共数据集快速获取:
要是需要实时获取最新视频的名称,就用Cloud Functions配合YouTube Data API批量拉取后导入BigQuery,这个定时任务可以设置每天跑一次。-- 假设你的YouTube Analytics表是`your_project.your_dataset.youtube_analytics_data` WITH distinct_videos AS ( SELECT DISTINCT video_id FROM `your_project.your_dataset.youtube_analytics_data` ) INSERT INTO `your_project.your_dataset.video_metadata` (video_id, video_name) SELECT dv.video_id, (SELECT snippet.title FROM `bigquery-public-data.youtube_videos.videos` WHERE video_id = dv.video_id LIMIT 1) AS video_name FROM distinct_videos dv WHERE NOT EXISTS (SELECT 1 FROM `your_project.your_dataset.video_metadata` WHERE video_id = dv.video_id) - 第四步:创建一个关联视图,把Analytics数据和视频元数据结合:
CREATE OR REPLACE VIEW `your_project.your_dataset.youtube_analytics_with_names` AS SELECT ya.*, vm.video_name FROM `your_project.your_dataset.youtube_analytics_data` ya LEFT JOIN `your_project.your_dataset.video_metadata` vm ON ya.video_id = vm.video_id - 第五步:在Data Studio里切换数据源到这个新视图,之后你的「Top Videos By Channel」图表就能直接用
video_name作为维度了。
方案2:Data Studio自定义维度手动映射(适合少量视频)
如果你的视频数量不多,不想折腾BigQuery,可以直接在Data Studio里手动配置映射:
- 打开你的Data Studio报表,找到对应的BigQuery数据源,进入编辑数据源界面。
- 点击添加字段,创建一个新的自定义维度,命名为
video_name。 - 在公式框里用
CASE语句匹配视频ID和名称:CASE WHEN video_id = 'abc123xyz' THEN '我的爆款开箱视频' WHEN video_id = 'def456uvw' THEN 'BigQuery数据导入全教程' -- 继续添加其他视频的映射规则 ELSE '未命名视频' END - 保存后回到图表,把维度从
video_id替换成video_name就搞定了。
这个方法的缺点是要手动维护,视频多的话会很繁琐,但胜在快速简单。
方案3:Data Studio数据混合+YouTube API连接器
还有一种不需要修改BigQuery的方法,就是用Data Studio的社区连接器拉取视频元数据,再和现有Analytics数据做混合:
- 在Data Studio里新建数据源,搜索「YouTube Data API」的社区连接器(尽量选官方或口碑好的)。
- 授权连接器访问你的YouTube账号,获取包含
video_id和title(即视频名称)的数据集。 - 回到报表,点击资源 > 管理数据混合,新建一个混合数据源,把BigQuery的Analytics数据和YouTube API的元数据通过
video_id关联起来。 - 混合完成后,就能在图表中选择
video_name字段来展示了。
这个方法不用动BigQuery,但配置稍复杂,而且要注意连接器的权限和数据更新频率。
综合来看,方案1是最优解,从数据源层面解决问题,后续所有报表都能直接复用。如果只是临时需求或者视频量少,方案2更高效。
内容的提问来源于stack exchange,提问作者Neskews
相关产品推荐
相关产品推荐

