Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 Запрос на Standard SQL в Google Big Query  [new]
okalinin
Member

Откуда:
Сообщений: 2
Приветствую всех участников форума!
Столкнулся в работе с такой задачей, к которой не знаю как подступиться.
Может быть, кто-то понимает в этом и сможет подсказать?

Есть два датасета данных в Google Big Query (работает на Standard SQL языке).

Первый dataset: это несколько таблиц, названных по дням, содержат данные из Google Analytics (источника трафика, какое устройство, даты, конверсии и прочее). Грубо говоря, все данные за 05 августа, 06 августа и тд.

Второй dataset: это таблица - данные из CRM (clientID, страна, заявка, статус заявки и тд).

Обе таблицы имеют столбец clientID, который содержит идентификатор, этот идентификатор является уникальным для всех таблиц, не содержит реплицированных данных.

Задача: взять данные некоторых столбцов из первого датасета (таблицы с 05 августа до 14 августа) и связать их с данными из второй таблицы по колонке ClientID за определенный период времени.
В итоге получится сквозная аналитика: откуда пришли, какая кампания, куда зашли, с какой формы заявка и какой статус заявки.
С SQL я знаком слабо, только начал изучать, а время играет против меня. Нужна помощь в составлении одного запроса на Standard SQL, на базе которого я смогу потом что-то менять/добавлять.

У меня у самого получилось вот так:

WITH dates as(
  -- Диапазон дат
  select '20190805' as f, '20190814' as l
),
table1 as (
  select clientId, traffic.campaign, traffic.source, traffic.medium, geoNetwork.country, page.pagePath
  from `artec-ga-gbq:OWOXBI_Streaming.owoxbi_sessions_*`, dates
  where _TABLE_SUFFIX between dates.f and dates.l
),
table2 as (
  select Form_name, clientId, Visited_page, Has_opportunity, Opportunity_status, Opportunity_close_reason, Opportunity_lost_reason
  from `artec-ga-gbq:load_dataset.MAload2`, dates
  where _TABLE_SUFFIX between dates.f and dates.l
),
pivot as (
  select table1.clientId, table1.traffic.campaign, table1.traffic.source, table1.traffic.medium, table1.geoNetwork.country, table1.page.pagePath, table2.clientId, table2.Form_name, table2.Visited_page, table2.Has_opportunity, table2.Opportunity_status, table2.Opportunity_close_reason, table2.Opportunity_lost_reason
  from table1
  left join table2
  on table1.clientId = table2.clientId
)


Выдаваемая ошибка от Google BiqQuery:
Syntax error: Expected "(" or keyword SELECT but got end of statement at [20:2]

Вроде бы где-то должен быть оператор SELECT, но куда его поставить - не знаю..

Буду благодарен за любую помощь, хотя бы в каком направлении копать!
Спасибо!
28 авг 19, 12:38    [21958989]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на Standard SQL в Google Big Query  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48623
https://www.w3schools.com/sql/ рекомендую. Ты написал только inline view. Теперь надо писать сам запрос.
28 авг 19, 13:56    [21959065]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на Standard SQL в Google Big Query  [new]
okalinin
Member

Откуда:
Сообщений: 2
Dimitry Sibiryakov,

спасибо за ссылку!

Про inline я понял только, что это середина или служебная часть запроса.
А запрос, видимо, как-то иначе выглядит..
28 авг 19, 15:26    [21959173]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на Standard SQL в Google Big Query  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3151
okalinin
Dimitry Sibiryakov,

спасибо за ссылку!

Про inline я понял только, что это середина или служебная часть запроса.
А запрос, видимо, как-то иначе выглядит..


видимо, как-то да - иначе, как минимум
3 сен 19, 16:51    [21962692]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить