Google bigquery BigQuery超过计数事务

Google bigquery BigQuery超过计数事务,google-bigquery,Google Bigquery,我试图获取特定来源、广告类型和自定义维度的指标会话、用户、新用户、入口、反弹以及交易。返回的会话看起来是正确的,但事务是重复的。我不知道如何将命中级别的自定义维度与会话级别的度量混合在一起 你知道如何更改查询以避免重复值吗 #Standard-SQL SELECT trafficSource.source AS source, trafficSource.adContent AS adContent, (CASE WHEN hcd.index = 10 THEN hcd.value

我试图获取特定来源、广告类型和自定义维度的指标会话、用户、新用户、入口、反弹以及交易。返回的会话看起来是正确的,但事务是重复的。我不知道如何将命中级别的自定义维度与会话级别的度量混合在一起

你知道如何更改查询以避免重复值吗

#Standard-SQL
SELECT
  trafficSource.source AS source,
  trafficSource.adContent AS adContent,
  (CASE WHEN hcd.index = 10 THEN hcd.value END) Destination,
  COUNT(DISTINCT CONCAT(fullVisitorId, CAST(visitStartTime AS STRING) )) Sessions,
  COUNT(totals.transactions) transactions
FROM `cc-bigquery-venture.534939.ga_sessions_*`,
UNNEST(hits) as hit,
UNNEST(hit.customdimensions) as hcd
WHERE
_TABLE_SUFFIX BETWEEN '20170101' AND '20170131'
GROUP BY
  source,
  adContent,
  Destination
HAVING 
  Destination IS NOT NULL
AND
  Destination !=''
AND 
  source = 'dfa' AND adContent = 'vacationcore'
ORDER BY
  Destination ASC

下面是BigQuery标准SQL

标准SQL 选择 trafficSource.source作为源, trafficSource.adContent作为adContent, 选择任意值hcd.value 从非攻击性攻击到攻击性攻击, UNNESThit.customdimensions作为hcd 其中hcd.index=10 目的地 COUNTDISTINCT CONCATfullVisitorId,CASTvisitStartTime作为字符串会话, 交易总额 来自'cc-bigquery-venture.534939.ga_sessions_*` 其中_TABLE_后缀在'20170101'和'20170131'之间 按源、内容、目的地分组 目的地不为空 还有目的地= 和source='dfa'和adContent='vacationcore' 按目的地ASC订购
下面是BigQuery标准SQL

标准SQL 选择 trafficSource.source作为源, trafficSource.adContent作为adContent, 选择任意值hcd.value 从非攻击性攻击到攻击性攻击, UNNESThit.customdimensions作为hcd 其中hcd.index=10 目的地 COUNTDISTINCT CONCATfullVisitorId,CASTvisitStartTime作为字符串会话, 交易总额 来自'cc-bigquery-venture.534939.ga_sessions_*` 其中_TABLE_后缀在'20170101'和'20170131'之间 按源、内容、目的地分组 目的地不为空 还有目的地= 和source='dfa'和adContent='vacationcore' 按目的地ASC订购
@谢谢你,艾略特!我想我最初之所以把它放在这里,是为了在结果中显示0零而不是空值,用于给定组中根本没有任何事务的情况。但是最好不要在总数之内,而是在总数之外:啊,明白了。在任何情况下,回答都很好:OP的最大收获应该是数组上的子选择,它可以在会话级别进行分析。@ElliottBrossard-谢谢Elliott!我想我最初之所以把它放在这里,是为了在结果中显示0零而不是空值,用于给定组中根本没有任何事务的情况。但是最好不要在总数之内,而是在总数之外:啊,明白了。在任何情况下,答案都很好:OP的最大收获应该是对数组的子选择,这可以在会话级别进行分析。