Google bigquery BigQuery条件运行和

Google bigquery BigQuery条件运行和,google-bigquery,Google Bigquery,使用SQL标准BigQuery,我需要计算最近4周销售的运行平均值,其中flag为FALSE。平均值实际上是一个基线,因此它不包括本周的销售额 week flag sales 1 FALSE 3 2 FALSE 1 3 FALSE 3 4 FALSE 0 5 FALSE 3 6 FALSE 6 7 TRUE 3 8 TRUE 1 9 FALS

使用SQL标准BigQuery,我需要计算最近4周销售的运行平均值,其中flag为FALSE。平均值实际上是一个基线,因此它不包括本周的销售额

week    flag    sales
1       FALSE   3
2       FALSE   1
3       FALSE   3
4       FALSE   0
5       FALSE   3
6       FALSE   6
7       TRUE    3
8       TRUE    1
9       FALSE   3
10      FALSE   9
11      FALSE   6
12      FALSE   4
13      TRUE    4
14      TRUE    2
15      FALSE   1
例如,第6周为第2周+第3周+第5周/4=1+3+0+3/4=7/4=1.75。 例如,第10周,运行平均值不应包括第7周和第8周,因为标志为真。第10周应为第4周+第5周+第6周+第9周/4周=3

整张桌子都应该是这样的

week    avg
1       NULL
2       NULL
3       NULL
4       NULL
5       1.75
6       1.75
7       3
8       3
9       3
10      3
11      5.25
12      6
13      5.5
14      5.5
15      5.5
我一直在试图补充答案

谢谢,
Jim

下面是BigQuery标准SQL

标准SQL 选择一周, 选择IFCOUNT1=4,AVGsales,NULL 从…起 从UNNESTarr中选择销售,其中不按周说明限制4标记订单 从…起 选择周、阵列、周、标志、销售收入 来自“project.dataset.table” 在无界前一行和前一行之间按周排序窗口赢 -按周订购