【问题标题】:Google BigQuery- Unexpected keyword for WITHIN statementGoogle BigQuery - WITHIN 语句的意外关键字
【发布时间】:2020-06-03 16:14:11
【问题描述】:

我是从 Adob​​e Analytics 到 Google BigQuery 的新转换器,我似乎无法使 WITHIN 语句正常工作。我不确定是系统访问问题还是我的代码导致了错误。我该如何解决这个问题?

SELECT
  fullVisitorId,
  visitId,
  hits.hitNumber, 
  hits.time,
  max(IF(hits.customDimensions.index = 1, hits.customDimensions.value, NULL)) WITHIN RECORD as cd2n
FROM
  `bigquery-public-data.google_analytics_sample.ga_sessions_*`,
  UNNEST(hits) as hits
-- GROUP BY
--   fullVisitorId, 
--   visitId,
--   hits.hitNumber,
--   hits.time
LIMIT 10
;

**ERROR CODE: Syntax error: Unexpected keyword WITHIN at [20:79]

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    我似乎无法使 WITHIN 语句工作

    WITHIN RECORD 在 BigQuery 标准 SQL 中不受支持 - 它来自 BigQuery 旧版 SQL。在Function comparison 中查看一些遗留 SQL 函数及其标准 SQL 等效项的示例

    我该如何解决这个问题?

    同时,下面是与您的查询等效但语法正确的查询(假设您的查询中的主要逻辑是正确的

    #standardSQL
    SELECT
      fullVisitorId,
      visitId,
      hit.hitNumber, 
      hit.time,
      MAX(IF(customDimension.index = 1, customDimension.value, NULL)) AS cd2n 
    FROM
      `bigquery-public-data.google_analytics_sample.ga_sessions_*`
      LEFT JOIN UNNEST(hits) AS hit
      LEFT JOIN UNNEST(hit.customDimensions) customDimension
    GROUP BY
      fullVisitorId, 
      visitId,
      hit.hitNumber,
      hit.time
    LIMIT 10
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多