BigQuery перерасчет транзакций - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь получить метрики (сеансы, пользователи, новые пользователи, входы, отскоки), а также транзакции для определенного источника, типа рекламы и пользовательского измерения.Возвращенные сеансы кажутся правильными, но транзакции дублируются.Я не уверен, как смешивать пользовательские измерения на уровне попадания с показателями на уровне сеанса.

Есть идеи, как изменить запрос, чтобы я не дублировал значения?

#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

1 Ответ

0 голосов
/ 12 мая 2018

ниже для BigQuery Standard SQL

#StandardSQL
SELECT
  trafficSource.source AS source,
  trafficSource.adContent AS adContent,
  (
    SELECT ANY_VALUE(hcd.value) 
    FROM UNNEST(hits) AS hit,
      UNNEST(hit.customdimensions) AS hcd
    WHERE hcd.index = 10
  ) Destination,
  COUNT(DISTINCT CONCAT(fullVisitorId, CAST(visitStartTime AS STRING) )) Sessions,
  SUM(totals.transactions) transactions
FROM `cc-bigquery-venture.534939.ga_sessions_*`
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...