值列表的 BigQUery 重复日期数组
Posted
技术标签:
【中文标题】值列表的 BigQUery 重复日期数组【英文标题】:BigQUery repeating date array for a list of values 【发布时间】:2021-03-10 15:25:58 【问题描述】:在 Bigquery 中,我正在尝试为合作伙伴列表生成一个表格,其中包含显示年份/季度的重复数组。理想情况下,这将是一个持续的工作表,允许我随着时间的推移更新和添加额外的季度。
Partner Year Quarter
--------- ----- --------
Partner 1 2021 Q1
2021 Q2
partner 2 2021 Q1
2021 Q2
到目前为止,我已经尝试使用“生成日期数组”来给出季度的第一天,然后将其添加到季度和年份。但是我得到的只是
With dates as (SELECT
Generate_date_array('2021-01-01', '2021-04-01',INTERVAL 1 QUARTER)as YQ)
Select
["Partner 1","Partner 2"] as partners,
YQ
FROM dates
但是这只给了我两行
Partner Date
--------- ----------
Partner 1 2021-01-01
partner 2 2021-04-01
任何建议都非常感谢。
【问题讨论】:
【参考方案1】:考虑下面
with dates as (
select extract(year from date) year,
'Q' || extract(quarter from date) quarter
from unnest(generate_date_array('2021-01-01', '2021-12-31',interval 1 quarter)) as date
), partners as (
select partner from unnest(["Partner 1","Partner 2"]) as partner
)
select partner,
array_agg(struct(year, quarter)) calendar
from partners, dates
group by partner
有输出
【讨论】:
以上是关于值列表的 BigQUery 重复日期数组的主要内容,如果未能解决你的问题,请参考以下文章
sql [BigQuery - Facebook产品目录]查询para obtenerelcatálogodeproductos de Kichink。 #facebook #bigqu
用于读取记录数组的 BigQuery Java API:“不支持按名称检索字段值”异常
用于合并值列表/数组的 BigQuery JavaScript UDF