Bigquery 用一些 000 替换空结果或空值
Posted
技术标签:
【中文标题】Bigquery 用一些 000 替换空结果或空值【英文标题】:Bigquery replacing empty results or null values with some 000 【发布时间】:2021-01-04 08:48:41 【问题描述】:我看到一些日期数据不存在,现在对于数据不存在的日期,我想用零替换它而不是找不到结果。我尝试如下并得到了当前的输出
选择 trvl_details.strt_dte 作为 cre_dte, trvl_typ_cde, 合并(计数(1),0)作为创建计数 从 project.dataset.tableid 加入 UNNEST(trvl_details)trvl_details WHERE trvl_details.strt_dte >= "2020-12-24" and trvl_typ_cde='AIR' group by 1,2
有人可以帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:您可以使用GENERATE_DATE_ARRAY 创建日期列表,然后将生成的日期列表与您的结果一起加入:
WITH your_data AS (
select trvl_details.strt_dte as cre_dte, trvl_typ_cde, coalesce(count(1),0) as createdcount
from project.dataset.tableid JOIN UNNEST(trvl_details)trvl_details
WHERE trvl_details.strt_dte >= "2020-12-24" and trvl_typ_cde='AIR'
group by 1,2
)
SELECT day, your_data.trvl_typ_cde, IFNULL(your_data.createdcount, 0)
FROM UNNEST(GENERATE_DATE_ARRAY('2020-12-01', '2020-12-31')) as day
LEFT JOIN your_data
ON day = your_data.cre_dte
【讨论】:
..它奏效了。但是希望有一种方法可以在不使用生成数组的情况下获得所需的输出,因为它涉及手动提供日期。 .以上是关于Bigquery 用一些 000 替换空结果或空值的主要内容,如果未能解决你的问题,请参考以下文章