首页 > 解决方案 > 如何将值添加到谷歌数据工作室中不存在为 0 的图表?

问题描述

我在 BigQuery 中有 4 个表,用于保存消息队列中消息的统计信息。这些表是:receivedMessages、processedMessages、skippedMessages 和 failedMessages。每个表都有一个 header.processingMetadata.approximateArrivalTimestamp,您可能已经猜到它是一个时间戳字段。

我的目的是为每个在该字段中聚合的表格创建 4 个图表,以及使用以下公式显示每天每个消息类别相对于收到消息以及未知状态消息的百分比的第 5 个图表:

UNKNOWN_STATUS_MESSAGES = TOTAL_RECEIVED_MESSAGES - (TOTAL_PROCESSED_MESSAGES + TOTAL_SKIPPED_MESSAGES + TOTAL_FAILED_MESSAGES)

但是有些日子没有跳过或失败的消息,因此这两个表中的 Big Query 中没有记录。这导致这 2 个图形缺少日期,并且在第 5 个图形中也没有正确显示 UNKNOWN_STATUS_MESSAGES。

我还在图表中使用以下代码作为指标,但没有成功(每次都适当地更改变量名称)。

CASE WHEN TOTAL_FAILED_MESSAGES IS NULL THEN 0 ELSE TOTAL_FAILED_MESSAGES END

有没有办法让谷歌数据工作室用 0 填充没有数据的日期,以便我可以正确显示图表?

标签: google-data-studio

解决方案


正如我发现的那样,也可以使用日期参数在非固定日期执行此操作。所以汗的答案的第一部分可以重写为:

WITH dates AS (
  select * 
  from unnest(generate_date_array(PARSE_DATE('%Y%m%d', @DS_START_DATE), PARSE_DATE('%Y%m%d', @DS_END_DATE), interval 1 day)) as day
)

推荐阅读