Как обpaбатывать данные из множества таблиц в Google BigQuery > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как обpaбатывать данные из множества таблиц в Google BigQuery

Как обpaбатывать данные из множества таблиц в Google BigQuery

< >

В прошлой статье я рассказывал об оконных функциях в Google BigQuery. Сегодня рассмотрим функции подстановки таблиц. Здесь всё проще.;

Обычно в SQL для объединения данных из нескольких таблиц в одном запросе используют функцию UNION, но в справочнике доступных функций Google BigQuery вы ее не найдете. Чтобы обратиться в одном запросе одновременно к нескольким таблицам, достаточно перечислить их названия через запятую в пункте FROM. Например, у нас в базе есть 5 таблиц:

  • Sales_june_2015;
  • Sales_july_2015;
  • Sales_august_2015;
  • Sales_september_2015;
  • Sales_october_2015.

Нам необходимо посчитать сумму продаж за третий квартал 2015 года. Информация о продажах в третьем квартале находится в таблицах Sales_july_2015, Sales_august_2015 и Sales_september_2015. Соответственно, нам надо перечислить названия этих таблиц в пункте FROM.

SELECT SUM(Sales) as salesFROM Sales_july_2015, Sales_august_2015, Sales_september_2015

; Таким образом, для BigQuery три таблицы при выполнении запроса будут равносильны одной целой таблице о продажах за третий квартал. Важно, чтобы таблицы, которые вы перечисляете через запятую, имели одинаковую структуру данных. Когда в вашем наборе данных всего пять таблиц, вполне можно обойтись описанным выше функционалом. Если же ваши таблицы разделены, например, по дням, то таких таблиц у вас со временем будет сотни, а через пару лет — тысячи. И каждый раз перечислять их через запятую вручную будет уже не так просто. Функции подстановки таблиц (Table wildcard functions) работают по такому же принципу. Используя их, достаточно обозначить диапазон таблиц вместо перечисления всех таблиц через запятую. Рассмотрим три доступные в Google BigQuery функции подстановки таблиц с примерами их использования.

1. Функция TABLE_DATE_RANGE (префикс, начальная дата, конечная дата)

Функция дает возможность обратиться к ряду таблиц, разделенных по дням, задав диапазон дат. Для названия таблицы, в которой описывается, как использовать данную функцию, нужно использовать формат префикс/дата, при этом дата должна быть записана в формате ГГГГММДД. При определении начальной и конечной даты вы можете использовать функции даты и времени, например:

TIMESTAMP(\\\'2012-10-01 02:03:04\\\')DATE_ADD(CURRENT_TIMESTAMP(), -7, \\\'DAY\\\')

;Предположим, что в нашем наборе данных есть три таблицы:

  • mydata.people20140325;
  • mydata.people20140326;
  • mydata.people20140327.

Для того, чтобы запрос обратился ко всем трем таблицам, необходимо в качестве начальной даты указать TIMESTAMP(\\\'2014-03-25\\\'), а в качестве финальной — TIMESTAMP(\\\'2014-03-27\\\'). Запрос:

SELECTnameFROMTABLE_DATE_RANGE(mydata.people,TIMESTAMP(\\\'2014-03-25\\\'),TIMESTAMP(\\\'2014-03-27\\\'))WHEREage >= 35

;Таким образом, в качестве префикса мы указали mydata.people, в качестве начальной даты 2014-03-25, а в качестве конечной — 2014-03-27. Пример обращения к таблицам за 2 предыдущих дня. Предположим, что в проекте myproject-1234 есть следующие таблицы:

  • mydata.people20140323;
  • mydata.people20140324;
  • mydata.people20140325.

Предположим, что сегодня 25 марта 2014 года. Запрос:

SELECTnameFROM(TABLE_DATE_RANGE([myproject-1234:mydata.people], DATE_ADD(CURRENT_TIMESTAMP(), -2, \\\'DAY\\\'), CURRENT_TIMESTAMP()))WHEREage >= 35

;В данном примере в качестве начальной даты мы использовали функцию DATE_ADD и указали в качестве точки отсчета текущее время, а также задали параметр отставания в 2 дня. В качестве финальной даты мы указали функцию CURRENT_TIMESTAMP, которая возвращает текущую дату и время. Соответственно, финальной датой будет текущий день.

2. Функция TABLE_DATE_RANGE_STRICT (префикс, начальная дата, конечная дата)

Данная функция — эквивалент TABLE_DATE_RANGE, разница между ними в том, что если в списке таблиц, разбитых по дням, будет отсутствовать таблица хотя бы за одну дату из указанного диапазона, функция TABLE_DATE_RANGE_STRIC вернет ошибку, и сообщение «Таблица (имя таблицы) ошибка». Пример ситуации, в которой функция TABLE_DATE_RANGE_STRICT вернет ошибку (подразумевает наличие в вашем наборе данных следующих таблиц):

  • people20140325;
  • people20140327.

Запрос:

SELECTnameFROM(TABLE_DATE_RANGE_STRICT(people,TIMESTAMP(\\\'2014-03-25\\\'),TIMESTAMP(\\\'2014-03-27\\\')))WHERE age >= 35

;В качестве начальной даты мы задали 2014-03-25, в качестве финальной — 2014-03-25. Запрос в данном случае вернет ошибку «Не найдена таблица people20140326», поскольку ее нет в нашем наборе данных.

3. Функция TABLE_QUERY (набор данных, выражение)

С помощью данной функции вы можете обратиться к таблицам, названия которых соответствуют заданному выражению. Параметр «Выражение» обязательно должен быть в строчном виде. В качестве выражения можно использовать строчные функции, такие как CONTAINS или REGEXP_MATCH. Пример запроса, обращающегося к таблицам с названиями, содержащими «oo» и четыре и более символов (подразумевает присутствие в наборе таблиц со следующими названиями):

  • mydata.boo;
  • mydata.fork;
  • mydata.ooze;
  • mydata.spoon.

Запрос:

SELECTspeedFROM (TABLE_QUERY(mydata,\\\'table_id CONTAINS \"oo\" AND length(table_id) >= 4\\\'))

;Запрос обработает данные из таблиц mydata.ooze и mydata.spoon, так как именно эти две таблицы соответствуют заданному в функции TABLE_QUERY выражению. Пример обращения к таблицам с названиями, соответствующими определенному регулярному выражению. В данном случае название таблицы должно начинаться на «boo» и содержать 3-5 цифр:

  • mydata.book4;
  • mydata.book418;
  • mydata.boom12345;
  • mydata.boom123456789;
  • mydata.taboo999.

Запрос:

SELECTspeedFROMTABLE_QUERY([myproject-1234:mydata],\\\'REGEXP_MATCH(table_id, r\"^boo[d]{3,5}\")\\\')

;Поскольку названия этих таблиц соответствуют регулярному выражению, которое мы использовали в запросе «^boo[\d]{3,5}», будут обpaбатываться данные из таблиц:

  • mydata.book418;
  • mydata.boom12345.

Как видите, обpaбатывать данные с помощью функций подстановки таблиц в Google BigQuery значительно более удобно, чем в классическом SQL. Пользуйтесь с удовольствием.



Комментарии:

Изменение поведения: факторы влияния

Изменение поведения: факторы влияния Формула изменения поведения Фогга и два красочных примера инсайде....

13 12 2025 10:50:51

Как Netpeak продвигает бизнес-страницы на OLX — первая часть

Как Netpeak продвигает бизнес-страницы на OLX — первая часть Как найти продавцов для маркетплейса с помощью рекламы в Google, Facebook, TikTok и Viber....

12 12 2025 4:44:31

Как продать кровати в Facebook — кейс магазина мебели matrason.ua

Результаты кампании динамического ремаркетинга для соцсетей...

11 12 2025 21:53:15

Анализ эффективности кампаний рекламной сети Яндекса с помощью отчета по многокaнaльным последовательностям

Отчет «Многокaнaльные последовательности» в Google ***ytics помогает оценить влияние каждого канала, сделать выводы о работе рекламных кампаний — понять их вклад и участие в цепочке до совершения конверсии. Показываем на примере....

10 12 2025 2:46:56

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов Как правильно группировать ключевые фразы для релевантности рекламных кампаний...

09 12 2025 20:26:35

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels СЕО of Augmented Pixels рассказал нам о принципах ведения бизнеса в Украине и США, о ненужности бизнес-планов и креативных питчей, а также о способе стать лучшим программистом...

08 12 2025 9:59:13

Как продвигать новый интернет-магазин — выбираем канал

Как продвигать новый интернет-магазин — выбираем канал Какой эффективный способ использовать для проверки бизнес-возможностей новых проектов ecommerce?...

07 12 2025 20:14:49

120 пунктов продающей мобильной версии сайта — чек-лист

120 пунктов продающей мобильной версии сайта — чек-лист Пора сделать так, чтобы мобильная версия сайта приносила прибыль....

06 12 2025 21:35:42

Как «ломают» воронку продаж при построении отчётности

Как «ломают» воронку продаж при построении отчётности Без понимания того, какие данные заложены в основу воронки продаж получается... — читайте в статье...

05 12 2025 13:57:34

Как не надо составлять техзадание для дизайнера — восемь вредных советов и полезный докс

Как не надо составлять техзадание для дизайнера — восемь вредных советов и полезный докс Дизайнер, в частности технический дизайнер баннеров, — человек, который оформляет конкретную идею, текст и логотип в приемлемую визуальную форму. Все делают это по-разному, но конечный результат всегда зависит от четкости поставленной задачи...

04 12 2025 6:37:31

Как украинский бизнес меняет свой маркетинг во время карантина — подборка примеров

Как украинский бизнес меняет свой маркетинг во время карантина — подборка примеров Новые тактики в рекламных кампаниях, SMM и PR, которые использует бизнес в новых условиях...

03 12 2025 3:40:18

Как маркетинговому агентству выйти на зарубежный рынок. Опыт ADINDEX

Статья будет полезна небольшим агентствам, которые мечтают работать с заграничными клиентами. Зачем нужно выходить за рубеж, если и в своей стране все идет неплохо, да и вообще — нет времени на продвижение на незнакомом рынке? Давайте разбираться вместе!...

02 12 2025 17:32:10

Как автоматизировать заботу о сотрудниках

Как автоматизировать заботу о сотрудниках 9 тревожных признаков того, что ваши подчиненные могут выгореть и уволиться. Обратите внимание и, возможно, не придется терять ценных для компании людей....

01 12 2025 5:18:27

Коммерческое ранжирование Яндекса (перевод)

Коммерческое ранжирование Яндекса (перевод) Интересный и важный документ, не пропустите. Для ранжирования используется сумма коммерческой и тематической релевантности. Уходя с головой в SEO, многие вебмастера забывают о пользовательских факторах. Узнайте больше об этом!...

30 11 2025 14:33:56

Как проверить качество кампаний в Google Рекламе за 10 минут

Как быстро определить, что ваш подрядчик плохо работает с рекламной кампанией....

29 11 2025 2:52:50

Что делать со старыми статьями в блоге

Что делать со старыми статьями в блоге Что делать контент-маркетологам, когда все тексты в интернете начнут генерировать боты? Спойлер: обновлять старый контент....

28 11 2025 20:33:10

Как всплывающие уведомления помогают повысить продажи — кейс интернет-магазина

Как всплывающие уведомления помогают повысить продажи — кейс интернет-магазина Пуш для рекламных кампаний накануне праздничных распродаж...

27 11 2025 23:18:32

Как орфографические ошибки могут повлиять на позиции сайта в выдаче?

Пост по мотивам видео Мэтта Каттса из Google. Из первых рук, как говорится....

26 11 2025 1:29:29

Как не слить бюджет на клики? Все, что нужно знать о кликфроде

Как не слить бюджет на клики? Все, что нужно знать о кликфроде Как избежать скликивания — инструкция...

25 11 2025 9:50:40

Как настроить передачу уведомлений из Google Calendar в Telegram

Как настроить передачу уведомлений из Google Calendar в Telegram Мануал по созданию удобного планировщика повторяющихся действий....

24 11 2025 2:25:44

Как настроить Google Shopping — руководство для новичков

Как настроить Google Shopping — руководство для новичков Как создать аккаунт в Google Merchant Center, загрузить и изменить фид с информацией о товарах, — делимся тонкостями настройки кампаний шопинга...

23 11 2025 3:27:50

15 примеров удачных маркетинговых онлайн-активностей к Новому году

15 примеров удачных маркетинговых онлайн-активностей к Новому году Адвент-календарь, конкурсы и викторины, праздничные линейки товаров, подборки подарков для родных и близких, опросы, тесты и другие интересности. Используйте, если нужны идеи и вдохновение....

22 11 2025 17:25:38

8 сервисов автопроверки on-page ошибок

Платные и бесплатные способы ускорить оптимизацию....

21 11 2025 15:52:36

Анализ сезонности на примере ниши доставки цветов

Анализ сезонности на примере ниши доставки цветов Занимайтесь оптимизацией определенной категории товаров за полгода до скачка спроса....

20 11 2025 17:33:39

Как руководителю построить сильную комaнду и не сойти с ума

Как руководителю построить сильную комaнду и не сойти с ума Есть 3 качества грамотного руководителя: самоорганизованность, скорость. четкость. А еще — уйма фишек организации рабочих процессов, которые применяют в Netpeak. Узнать!...

19 11 2025 8:16:51

Сколько стоил клик в Google Ads и Facebook в Украине в третьем квартале 2018 года

Сколько стоил клик в Google Ads и Facebook в Украине в третьем квартале 2018 года Данные по 43 миллионам кликов в 27 тематиках и 391 городах страны...

18 11 2025 23:54:37

Как работать с аудиториями Google Ads в наблюдении

Давайте больше не будем сливать бюджет, выбирая неправильный параметр....

17 11 2025 9:42:37

Facebook ***ytics — подробное руководство по настройке

Как работать с Facebook ***ytics — бесплатным инструментом с богатым инструментарием и лучшей из всех существующих решений интеграцией с платформой Facebook...

16 11 2025 4:54:32

Как настроить ретаргетинг для рекламы в Instagram и Facebook

Как настроить ретаргетинг для рекламы в Instagram и Facebook Понятная инструкция для SMM-специалистов для тех, кто экспериментирует с настройками аудиторий в рекламных кампаниях. Вы увидите, как настраивать ремаркетинг на примере Facebook. Существует 10 типов индивидуализированных аудиторий в Facebook, разберем три...

15 11 2025 18:24:49

Прием антисептика внутрь, парень-микрофончик и открыть рот за $9: реклама в соцсетях в феврале 2021

Примеры странной, классной и непонятной рекламы в соцсетях из моей ленты за февраль 2021 года...

14 11 2025 13:41:17

Отчеты Google ***ytics — подробное руководство с объяснениями

Отчеты Google ***ytics — подробное руководство с объяснениями То, чего нет в справке — подробный обзор отчетов Google ***ytics: в режиме реального времени, по аудитории, источникам трафика, поведению, конверсии. Узнать больше!...

13 11 2025 19:19:42

KPI в социальных медиа

KPI в социальных медиа Все про kpi охват в социальных медиа или как оценивать эффективность работы SMM-специалиста?...

12 11 2025 16:40:55

Эти странные соцсети: явления в интернете, которые формируют тренды и нашу действительность

Эти странные соцсети: явления в интернете, которые формируют тренды и нашу действительность Подборка ненаучных наблюдений и ситуаций, в которых бывал каждый из нас...

11 11 2025 6:54:54

Кассовый разрыв в бизнесе. Что это, почему возникает и как избежать

Кассовый разрыв в бизнесе. Что это, почему возникает и как избежать 82% малых бизнесов тонут как раз из-за проблем с денежными потоками (по данным исследований U.S. Bank, 2020). Как предприниматели попадают в кассовые разрывы и что делать в таких ситуациях, разберем в этой статье....

10 11 2025 8:33:59

Типы рекламных кампаний в Facebook и Instagram

Гайд по типам рекламы в соцсетях для SMM-, PPC-специалистов, блогеров и владельцев бизнеса в зависимости от целей, которые вы ставите перед продвижением. С конкретными рекомендациями и примерами. Узнать больше!...

09 11 2025 4:53:43

Как долго живет лид в базе email-рассылки?

Как долго живет лид в базе email-рассылки? Это исследование для тех, кто хочет выяснить, эффективно ли работать с лидами, если им год и больше...

08 11 2025 22:14:38

Почему SEO в агентстве стоит дорого — развернутый ответ для клиентов

Почему SEO в агентстве стоит дорого — развернутый ответ для клиентов Как формируется цена на услугу SEO, как достигается результат и почему поисковое продвижение выгодно только в долгосрочной перспективе от руководителя отдела продаж агентства Netpeak. Узнайте больше!...

07 11 2025 7:12:11

Комикс о проверке гипотез и человеческом факторе

Комикс о проверке гипотез и человеческом факторе Отрывок из книги «Статистика: базовый курс в комиксах» Грейди Клейн и Алана Дебни...

06 11 2025 2:29:20

Один из самых популярных мессенджеров в мире: продвигаемся в Telegram

Один из самых популярных мессенджеров в мире: продвигаемся в Telegram Правила, законы, платное и бесплатное продвижение в Telegram...

05 11 2025 0:42:27

Поведенческая экономика и три принципа мотивации человека

Поведенческая экономика и три принципа мотивации человека Как правильно мотивировать и демотивировать себя — теория и кейсы. Как бросить курить, начать бегать и наконец-то приступить к изучению английского. Читать!...

04 11 2025 2:48:18

Как быстро перенести кампании из Google Рекламы в Директ

Как быстро перенести кампании из Google Рекламы в Директ Как перенести рекламные кампании из адвордс в директ, используя только Google Editor и Директ Коммaндер? Делимся быстрым и эффективным методом...

03 11 2025 23:33:59

10 онлайн способов улучшить контент

10 онлайн способов улучшить контент Как преодолеть онлайн писательский ступор, разобраться с рутиной и освободить время для экспериментов...

02 11 2025 6:27:52

Настраиваем отслеживание печати страниц в Google ***ytics

Как настроить просто и быстро настроить скрипт в Google ***ytics для отслеживания печати страниц сайта....

01 11 2025 17:49:31

Кейс по email-маркетингу: как мы привлекали авторов в программу для блогеров от GetResponse

Кейс по email-маркетингу: как мы привлекали авторов в программу для блогеров от GetResponse Как достучаться до сердца блогера, или Автору звонят дважды...

31 10 2025 22:47:21

Гeймификация в email-маркетинге: повышаем вовлеченность в рассылках

Гeймификация в email-маркетинге: повышаем вовлеченность в рассылках Как использовать игровые механики для вовлечения аудитории....

30 10 2025 21:59:29

Какие инструменты использовать веб-аналитику, кроме Google ***ytics и Яндекс.Метрики

Какие инструменты использовать веб-аналитику, кроме Google ***ytics и Яндекс.Метрики Как решить все задачи и не изобретать велосипед. Мы оторвались от отчетов в Google ***ytics и Яндекс.Метрике и посмотрели в сторону менее популярных инструментов для веб-аналитики. Узнайте больше!...

29 10 2025 13:43:36

Контекстная реклама для магазина мебели в Казахстане — как мы узнали, что реальная рентабельность рекламы выше на 390%

Контекстная реклама для магазина мебели в Казахстане — как мы узнали, что реальная рентабельность рекламы выше на 390% Как мы с помощью Call Tracking узнали настоящую рентабельность контекстной рекламы для магазина мебели...

28 10 2025 9:37:28

Как найти тему для срача — на примере vc.ru

Как найти тему для срача — на примере vc.ru Как найти тему для поста, который и в онлайн поиске будет хорошо ранжироваться, и по социалкам разойдется, и комментарии в треде обеспечит...

27 10 2025 4:54:27

3 фишки про продвижение постов в Facebook

3 фишки про продвижение постов в Facebook Если маркетер хочет привлечь к бренд-контенту дополнительное внимание, стоит воспользоваться опцией Promote post....

26 10 2025 19:30:12

Более двух месяцев не могли запустить рекламу, а потом снизили стоимость заказа на 50% — игровой кейс

Более двух месяцев не могли запустить рекламу, а потом снизили стоимость заказа на 50% — игровой кейс Также повысили количество транзакций на 191% (по сравнению с аналогичным периодом прошлого года)....

25 10 2025 22:10:56

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::