bigquery中按日期累加多个条件

发布于 2025-01-11 23:27:17 字数 13150 浏览 5 评论 0原文

我需要对每个类别、sub_category1、sub_category2 的 sales 表中的销售数量进行运行总计,例如:

日期类别sub_category1sub_category2数量
01-01-2022电子计算机笔记本电脑2
01-01 -2022电子电脑桌面5
01-01-2022电子电脑配件10
01-01-2022美容沐浴5
02-01-2022电子电脑笔记本电脑4
02-01-2022电子电脑配件3
02-01-2022住房厨房用品1
12-01-2022美容化妆品口红2
12-01 -2022美容沐浴沐浴3
13-01-2022电子耳机 耳塞式耳机2

我的运行总计如下:

SELECT
   * EXCEPT(quantity),
   SUM(quantity) OVER (
      PARTITION BY 
         category,
         sub_category1,
         sub_category2
      ORDER BY date) AS running_total_quantity
FROM sales

我的结果应该是:

日期类别sub_category1sub_category2running_total_quantity
01-01-2022电子电脑笔记本电脑2
01-01-2022电子电脑台式机5
01-01- 2022电子电脑配件10
01-01-2022美容沐浴及沐浴5
02-01-2022电子电脑笔记本电脑6
02-01-2022电子电脑配件13
02-01-2022住房厨房用品1
12-01-2022美容化妆品口红2
12-01-2022美容沐浴及沐浴露沐浴8
13-01-2022电子耳机Earbud headphone2

但是,当我创建条形图以在配置数据库上按周分组显示销售数量时,从 1 月 3 日到 1 月 9 日的一周时间没有任何内容,而我对表格的期望如下:

日期类别sub_category1sub_category2running_total_quantity
01-01-2022电子电脑笔记本电脑2
01-01-2022电子电脑台式机5
01-01-2022电子电脑配件10
01-01-2022美容沐浴沐浴露502-01-2022
电子电脑笔记本电脑6
02-01-2022电子电脑台式机5
02-01-2022电子电脑配件13
02-01-2022美容沐浴沐浴5
02-01-2022住房厨房电器1
03-01-2022电子电脑笔记本电脑6
03-01-2022电子电脑台式机5
03-01-2022电子电脑配件13
03-01-2022美容沐浴沐浴5
03-01-2022住房厨房用具1
...............
11-01-2022电子电脑笔记本电脑6
11-01-2022电子电脑桌面5
11-01-2022电子电脑配件13
11-01-2022美容沐浴及沐浴5
11-01-2022住房厨房用品1
12-01-2022电子电脑笔记本电脑6
12-01 -2022电子电脑桌面5
12-01-2022电子电脑配件13
12-01-2022美容沐浴8
12-01-2022住房厨房用品1
12-01-2022美容化妆品口红2
13-01-2022电子电脑笔记本电脑6
13-01-2022电子电脑台式机5
13-01-2022电子电脑配件13
13-01-2022美容沐浴露和沐浴8
13-01-2022住房厨房用品1
13-01-2022美容化妆品口红2
13-01-2022电子耳机耳塞式耳机2

我用来创建一个生成所有日期的模型,类别,子类别1和子类别2然后使用左连接来填写。但是日期,类别等等都是无限的然后就不起作用了。

我该怎么做?

I need to do running total for the quantity of sales in the sales table of each category, sub_category1, sub_category2 for example below:

datecategorysub_category1sub_category2quantity
01-01-2022ElectronicComputerLaptop2
01-01-2022ElectronicComputerDesktop5
01-01-2022ElectronicComputerAccessories10
01-01-2022BeautyBath and BodyShampoo5
02-01-2022ElectronicComputerLaptop4
02-01-2022ElectronicComputerAccessories3
02-01-2022HousingKitchenApplicancies1
12-01-2022BeautyComesticsLipstick2
12-01-2022BeautyBath and BodyShampoo3
13-01-2022ElectronicHeaphonesEarbud headphone2

I do the running total as below:

SELECT
   * EXCEPT(quantity),
   SUM(quantity) OVER (
      PARTITION BY 
         category,
         sub_category1,
         sub_category2
      ORDER BY date) AS running_total_quantity
FROM sales

My result should be:

datecategorysub_category1sub_category2running_total_quantity
01-01-2022ElectronicComputerLaptop2
01-01-2022ElectronicComputerDesktop5
01-01-2022ElectronicComputerAccessories10
01-01-2022BeautyBath and BodyShampoo5
02-01-2022ElectronicComputerLaptop6
02-01-2022ElectronicComputerAccessories13
02-01-2022HousingKitchenApplicancies1
12-01-2022BeautyComesticsLipstick2
12-01-2022BeautyBath and BodyShampoo8
13-01-2022ElectronicHeaphonesEarbud headphone2

However when I create bar chart to show sales quantity group by week on metabase, it is nothing for week time from 03 Jan to 09 Jan while my expectation of the table as below:

datecategorysub_category1sub_category2running_total_quantity
01-01-2022ElectronicComputerLaptop2
01-01-2022ElectronicComputerDesktop5
01-01-2022ElectronicComputerAccessories10
01-01-2022BeautyBath and BodyShampoo5
02-01-2022ElectronicComputerLaptop6
02-01-2022ElectronicComputerDesktop5
02-01-2022ElectronicComputerAccessories13
02-01-2022BeautyBath and BodyShampoo5
02-01-2022HousingKitchenApplicancies1
03-01-2022ElectronicComputerLaptop6
03-01-2022ElectronicComputerDesktop5
03-01-2022ElectronicComputerAccessories13
03-01-2022BeautyBath and BodyShampoo5
03-01-2022HousingKitchenApplicancies1
...............
11-01-2022ElectronicComputerLaptop6
11-01-2022ElectronicComputerDesktop5
11-01-2022ElectronicComputerAccessories13
11-01-2022BeautyBath and BodyShampoo5
11-01-2022HousingKitchenApplicancies1
12-01-2022ElectronicComputerLaptop6
12-01-2022ElectronicComputerDesktop5
12-01-2022ElectronicComputerAccessories13
12-01-2022BeautyBath and BodyShampoo8
12-01-2022HousingKitchenApplicancies1
12-01-2022BeautyComesticsLipstick2
13-01-2022ElectronicComputerLaptop6
13-01-2022ElectronicComputerDesktop5
13-01-2022ElectronicComputerAccessories13
13-01-2022BeautyBath and BodyShampoo8
13-01-2022HousingKitchenApplicancies1
13-01-2022BeautyComesticsLipstick2
13-01-2022ElectronicHeaphonesEarbud headphone2

I used to create a model which generates all date, category, sub_category1 and subcategory2 then using left join to fill in. But the dates, category and so on are going unlimited then it didn't work.

How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文