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. Пользуйтесь с удовольствием.



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

Как оценить новый канал трафика?

Как оценить новый канал трафика? Эффективен ли ваш канал привлечения трафика? Лучше писать об этом с помощью формул...

30 08 2026 5:33:44

Кто такой ASO-специалист и чем выгодно освоить эту новую профессию в 2022 году

Кто такой ASO-специалист и чем выгодно освоить эту новую профессию в 2022 году Как научиться продвигать мобильные приложения и заpaбатывать на этом....

29 08 2026 12:10:12

Реклама в YouTube для интернет-магазина обуви — увеличиваем узнаваемость бренда и продажи

Реклама в YouTube для интернет-магазина обуви — увеличиваем узнаваемость бренда и продажи Возможно, вы купили обувь Intertop именно после просмотра нашей рекламы....

28 08 2026 12:51:29

Что такое PageRank страницы сайта и как его узнать

Что такое PageRank страницы сайта и как его узнать Алгоритм ссылочного ранжирования, который показывает ее значимость, в частности, для поисковиков. Важность показателя PageRank оспаривают, но до сих пор считают. Читать!...

27 08 2026 15:14:48

Контекстная реклама интернет-магазина автотоваров — как снизить траты и увеличить ROMI на 772%

Контекстная реклама интернет-магазина автотоваров — как снизить траты и увеличить ROMI на 772% Изучаем на примере тестирования товарных кампаний в момент смены логотипа и ренейминга...

26 08 2026 6:52:33

Семь улучшений Netpeak: SEO, PPC и английская версия блога. Выпуск первый

Семь улучшений Netpeak: SEO, PPC и английская версия блога. Выпуск первый Сегодня мы открываем новую регулярную серию постов, в которых будем стараться раз в квартал рассказывать про семь важных улучшений Netpeak в работе с клиентами. Сейчас мы максимально сфокусированы на SEO и PPC....

25 08 2026 17:52:39

Как не платить за клики без конверсий?

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

24 08 2026 18:31:35

3D-креатив: время печатать идеи

3D-креатив: время печатать идеи Идея, напечатанная в 3Д? Уже сегодня маркетологи могут это делать с успехом. Главное — поменять свой стиль мышления....

23 08 2026 22:31:13

Как отслеживать трафик PBN-сайтов

Как отслеживать трафик PBN-сайтов Если в сетке сайтов есть интересный домен, его можно использовать для дополнительной монетизации, а не только для ссылок. В таком случае важно знать, как правильно отслеживать трафик таких доменов....

22 08 2026 17:57:33

Как создать чат-бот для Telegram-канала — инструкция для администраторов

Как создать чат-бот для Telegram-канала — инструкция для администраторов Как с помощью ботов ControllerBot и BotFather упростить управление каналами и разнообразить контент....

21 08 2026 3:32:17

7 фобий SMM-специалиста

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

20 08 2026 20:33:55

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube Недавно у меня закончилась видеокампания на ютуб, по которой удалось собрать исследование Brand Lift. Хочу поделиться инсайтами...

19 08 2026 9:16:24

Как работать с оконными функциями в Google BigQuery — подробное руководство

Как работать с оконными функциями в Google BigQuery — подробное руководство Первое подробное руководство по работе с оконными функциями в Google BigQuery....

18 08 2026 6:19:38

Как настроить воронку продаж через Google Tag Manager

Как настроить воронку продаж через Google Tag Manager Устраняем причины, по которым пользователи покидают сайт без покупки....

17 08 2026 12:46:26

Динамический ремаркетинг в myTarget: подробный мануал и кейс

Динамический ремаркетинг в myTarget: подробный мануал и кейс Как настроить динамический ремаркетинг в myTarget и эффективно ли работают такие объявления — делимся собственным опытом....

16 08 2026 16:25:11

Генерируем прорывные идеи по Люку Уильямсу

Генерируем прорывные идеи по Люку Уильямсу Важно иметь прорывное мышление — о таком подходе к бизнесу написана книга Люка Уильмса «Переворот»....

15 08 2026 13:11:52

Как стать хорошим SMM-специалистом

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

14 08 2026 14:27:38

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

Сколько стоил клик в Google Ads и Facebook в Украине в первом квартале 2019 года Данные по 42,5 млн кликов в 25 тематиках и 391 городу...

13 08 2026 4:53:33

8 ненужных пунктов в SEO-аудите

Глоссарий глупых ошибок в аудите от топовых SEO-агентств...

12 08 2026 17:46:51

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413%

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413% Мы достигли поставленных на старте продвижения целей: вернули потерянный трафик, получили дальнейший рост видимости сайта и увеличили доход....

11 08 2026 18:57:44

Как стать SEO-специалистом

Как стать SEO-специалистом Как стать востребованным сео оптимизатором: 35+ ссылок для обучения и совершенствования своих знаний, а также советы...

10 08 2026 18:18:22

Дамир Халилов о медиа маркетинге в социальных сетях

Дамир Халилов о медиа маркетинге в социальных сетях Книга про пять полезных фишек + стратегия продвижения интернет-магазина...

09 08 2026 0:15:51

Проверка уникальности контента

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

08 08 2026 16:54:38

Плотность ключевых слов — как определить релевантность документа ключевому запросу

SEOmoz создал систему, которая определяет релевантность страницы поисковому запросу....

07 08 2026 16:27:53

Как объединять данные при создании отчета в Data Studio

Как объединять данные при создании отчета в Data Studio В статье коротко о способах объединения данных из разных источников для создания отчётов...

06 08 2026 8:30:14

С чего начать настройку групп триггеров в Google Tag Manager

С чего начать настройку групп триггеров в Google Tag Manager Как передавать данные пpaктически о каждом «шаге» пользователя на сайте...

05 08 2026 11:39:37

Бизнес в сети — дайджест полезных статей о 8P и не только

Бизнес в сети — дайджест полезных статей о 8P и не только Как провести крутую конференцию по интернет-маркетингу, сделать трaнcляцию этой конференции и вместо сухих репортажей подготовить полезный контент для СМИ. Узнать больше....

02 08 2026 12:43:38

Правила хорошего тона при создании Google Презентаций

Правила хорошего тона при создании Google Презентаций Как сделать красиво. Алгоритм подготовки красивых и понятных презентаций, рекомендации и полезные ссылки, а также простые правила хорошего тона в дизайне Google Презентаций. Узнать больше и сделать свою презентацию эффективнее!...

01 08 2026 4:15:49

Семь улучшений агентства Netpeak за год: репутационный маркетинг, продвижение клипов и SEO для блогов

Семь улучшений агентства Netpeak за год: репутационный маркетинг, продвижение клипов и SEO для блогов О запуске новых услуг по SEO и PPC, обновлениях Netpeak Cloud и конференциях по интернет-маркетингу...

31 07 2026 7:41:57

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

Какую стратегию использовать для продвижения интернет-магазина Что нужно делать на старте работ с интернет-магазином и как минимизировать риски для бизнеса онлайн, используя такие инструмента как SEO, PPC и Email-маркетинг — советы от эксперта. Читать дальше!...

30 07 2026 1:27:43

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender Рассказываем, как комaнда Netpeak работала над ростом органики и повышением видимости приоритетных страниц сайта по релевантной семантике....

29 07 2026 9:32:51

Cколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в третьем квартале 2017

Cколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в третьем квартале 2017 Казахстанские реалии: данные по более 1 млн кликов в 23 тематиках и 15 городах....

28 07 2026 13:42:15

Кейс по продвижению интернет-магазина женской одежды

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

27 07 2026 18:56:39

Второй мозг — гайд по системе умных заметок Zettelkasten. Первая часть

Второй мозг — гайд по системе умных заметок Zettelkasten. Первая часть Как быстро систематизировать мысли и заметки? Используйте систему Zettelkasten....

26 07 2026 18:59:25

Как измерить эффективность в Telegram — сколько подписчиков дала реклама?

Как измерить эффективность в Telegram — сколько подписчиков дала реклама? После обновления мессенджера появился нужный инструмент...

25 07 2026 1:34:24

Как связать Яндекс.Директ с Microsoft Power BI

Чтобы создавать удобные отчеты, импортируйте данные из Яндекс.Директ в Microsoft Power BI с помощью язык R...

24 07 2026 6:29:37

Как с помощью Google Earth собрать контакты для email-рассылок и холодных звонков

Как с помощью Google Earth собрать контакты для email-рассылок и холодных звонков Проверенный способ для сбора базы данных. Метод, с помощью которого можно извлечь контактные данные, а именно: название точки, телефон, адрес, сайт., а потом высылать своё КП, промокоды для акции, сообщить о выходе товара, сделать спецпредложение...

23 07 2026 4:22:16

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

Как должна выглядеть форма онлайн-заказа — подробный чек-лист Образец чек-листа по созданию форм заказа на сайте интернет-магазина...

22 07 2026 0:44:24

Как вести Instagram в B2B во время локдayна — кейс агентства Netpeak

Как вести Instagram в B2B во время локдayна — кейс агентства Netpeak SMM для агентства перформанс-маркетинга. Как уйти от сухих текстов и стандартных баннеров для бизнес-страницы....

21 07 2026 17:24:47

Как настроить автоматические правила в Facebook? Подробное руководство

Как настроить автоматические правила в Facebook? Подробное руководство Правила Facebook позволяют пользоваться автоматизированным контролем над эффективностью рекламы. Читайте, как уменьшить количество ручной работы с помощью автоматических правил...

20 07 2026 1:29:12

Расширения объявлений Google Рекламы — краткий обзор

Расширения объявлений Google Рекламы — краткий обзор 11 типов расширений и результат их внедрения на примере запущенных рекламных кампаний...

19 07 2026 6:18:44

Как защитить аккаунт в Instagram от взлома

Безопасность Instagram — что делать, если заметили попытку взломщиков украсть аккаунт, и как вернуть аккаунт после взлома....

18 07 2026 7:11:21

Триггерная email-рассылка: какие письма отправлять, чтобы подписчик точно заинтересовался

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

17 07 2026 3:16:37

Как рекламировать в гугл игры мужчинам и женщинам гeймерам

Как рекламировать в гугл игры мужчинам и женщинам гeймерам Что нужно учесть при создании баннеров для разных аудиторий...

16 07 2026 19:53:13

Особенности продвижения проектов B2B и B2C

Особенности продвижения проектов B2B и B2C Сравнительная хаpaктеристика B2B и B2C. Как строятся отношения с клиентом, какой объем рынка, особенности сервиса, на чем делать акцент при создании контента. Подробнее....

15 07 2026 17:52:12

5 инструментов для проверки юзабилити интернет-магазина

5 инструментов для проверки юзабилити интернет-магазина Несложные рекомендации, как увеличить продажи с сайта и его мобильной версии с помощью инструментов Google: ***ytics, Tag Manager, Optimizer и форм-опросов. UX-специалисты Турум-бурум рекомендуют их для проверки сайта и используют в своей работе....

14 07 2026 21:12:35

Как провести контент-аудит сайта — пошаговое руководство

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

13 07 2026 16:15:44

Дополнительные ценности Netpeak — что вы получаете при заказе [SEO 2.0] вместе с поисковым продвижением

Дополнительные ценности Netpeak — что вы получаете при заказе [SEO 2.0] вместе с поисковым продвижением В коробку [SEO 2.0] вместе с самим поисковым продвижением входят дополнительные ценности Netpeak: унифицированные действия по увеличению продаж, улучшения удобства работы и преимущества бренда Netpeak...

12 07 2026 16:14:56

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