Выберите строки в Big Query, используя CONTAINS_SUBSTR с несколькими подстроками

Я пытаюсь разложить данные Google Analytics в Google Big Query. Моя цель — найти показатели производительности страницы для выбранной группы страниц, из которых у меня есть только код, а не весь PagePath.

Для этого я использую функцию CONTAINS_SUBSTR в предложении WHERE.

Когда я запускаю такой код, он работает отлично:

WHERE
    _table_suffix BETWEEN "20210501"
    AND "20210831"
    AND  CONTAINS_SUBSTR(hits.page.PagePath, '/62150/')

Однако меня интересует больше страниц, чем просто /62150/ (~30 страниц). Всякий раз, когда я пытаюсь добавить больше страниц в функцию where contains_substring, это не работает. Например.

    _table_suffix BETWEEN "20210501"
    AND "20210831"
    AND  CONTAINS_SUBSTR(hits.page.PagePath, IN('/62150/', '/27000/'))

У кого-нибудь есть предложения?

Лучший,

Как насчет использования REGEXP_CONTAINS(hits.page.PagePath, r'/(62150|27000)/') вместо CONTAINS_SUBSTR? вы можете добавить больше кодов в регулярное выражение, например (62150|27000|28000|29000)

Jaytiger 11.05.2022 15:43

Я также буду использовать REGEXP_CONTAINS вместо CONTAINS_SUBSTR. @Jaytiger, можешь ли ты назвать это реальным ответом?

Jose Gutierrez Paliza 11.05.2022 19:39
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Рассмотрим это вместо использования CONTAINS_SUBSTR:

SELECT * 
  FROM `your_sharded_tables_*`
 WHERE _TABLE_SUFFIX BETWEEN "20210501" AND "20210831"
   AND REGEXP_CONTAINS(hits.page.PagePath, r'/(62150|27000)/')

Другие вопросы по теме