Google Data Studio: как использовать REGEX (вариант Google) для извлечения всех значений, разделенных запятыми, внутри поля? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть значения, разделенные запятыми, в поле базы данных - в данном случае названия городов. Это выглядит так (без кавычек или пробелов рядом с запятыми):

              Cities
Row 1: New York City,Boston,Miami
Row 2: Los Angeles,San Francisco
Row 3: Chicago,New York City,Los Angeles
Row 4: Seattle
Row 5: Philadelphia,New York City,Boston,Chicago

Я хотел бы вывести в таблице, которая подсчитывает общее количество экземпляров города в поле. Примерно так:

New York City 3
Boston 2
Chicago 2
Los Angeles 2
Miami 1
Philadelphia 1
San Francisco 1
Seattle 1

Я могу извлекать названия городов в зависимости от их положения в массиве. Например, эта формула извлекает каждый город в позиции 0:

REGEXP_EXTRACT(dimension,"^(?:[^,]*,){0}([^,]*)")

Затем таблица суммирует все экземпляры Нью-Йорка, Лос-Анджелеса и т. Д. c. в позиции 0.

Я пробовал комбинировать выражения, чтобы получить значения в позициях 0 и 1, но эта формула не сумела их правильно:

REGEXP_EXTRACT(dimension,"^(?:[^,]*,){0}([^,]*)(?:[^,]*,){1}([^,]*)")

Я также пробовал следующую формулу, но он также захватывает значения только в позиции 0:

REGEXP_EXTRACT(dimension,"([^,]+)")

Эти формулы не учитывают многочисленные экземпляры городов, поскольку они не извлекают значения в позициях 1, 2, 3 и т.д. c.

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

Кто-нибудь знает формулу REGEX, которая извлечет все значения в каждом массиве?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...