BigQuery:按日期划分的子句在不同日期返回相同的值

时间:2020-01-03 16:05:48

标签: google-bigquery window-functions

我正在使用Google Analytics(分析)数据(嵌套字段)。 我试图获取每天的总收入('revenue_day_total'),但是以下查询(包括OVER和PARTITION)在不同的日期(窗口函数中的第1行)返回了相同的'revenue_day_total'值。

SELECT
  date,
  device.deviceCategory AS device,
  (SELECT value FROM UNNEST(customDimensions) WHERE index = 26 LIMIT 1) AS system,  
  channelGrouping AS channel,   
  SUM(totals.totalTransactionRevenue) / 1000000 AS revenue_grouped,  
  (SELECT ROUND(SUM(totals.totalTransactionRevenue) OVER (PARTITION BY date) / 1000000, 2) FROM `<project>.<dataset>.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY)) AND   FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) AND totals.visits = 1 LIMIT 1)  AS revenue_day_total,    
FROM
  `<project>.<dataset>.ga_sessions_*`
 WHERE
  _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY)) AND FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) AND totals.visits = 1 
GROUP BY
  date,
  device,
  system,
  channel

结果:

same value for different dates

我的目标是获取不同日期的'revenue_day_total'的以下值: enter image description here

我不确定如何编写查询以获取不同日期的正确当前“ revenue_day_total”。如何根据维度日期(这是一个字符串,例如'20191230')使over子句动态化

0 个答案:

没有答案
相关问题