Я работаю с некоторыми данными новостной рассылки и пытаюсь показать количество пользователей, подписавшихся на более чем одну новостную рассылку (перекрытие пользователей между списками). Я использую данные новостной рассылки в Google BigQuery и DataStudio для визуализации.
Мой набор данных возвращает одну строку для каждой комбинации пользователь + новостная рассылка. Поэтому, если пользователь подписался на три разных новостных письма, на нем будет отображаться:
+---+------------+--------------+
| | Name | Newsletter |
+---+------------+--------------+
| 1 | User A | Newsletter 1 |
| 2 | User A | Newsletter 2 |
| 3 | User A | Newsletter 3 |
+---+------------+--------------+
Я ограничиваю ввод комбинаций перекрытия до 2.
МОЙ ВОПРОС : Как мне запросить исходный набор данных, чтобы получить количество перекрывающихся пользователей для всех возможных комбинаций? Я уверен, что есть какой-то способ сделать это с помощью различных операторов CASE, но это утомительно инеэффективен. Хотите знать, может быть, есть более простой способ, о котором я не думаю.
Дополнительные сведения о том, как я думаю о визуализации, что может повлиять на результат:
Поскольку я ограничиваю каждыйВ сочетании с двумя информационными бюллетенями, я подумал, что тепловая карта может быть хорошим способом попытаться показать эти данные с количеством пользователей в обоих списках в каждом «пересечении».
Но чтобы сделать это в DataStudio, мне нужно, чтобы данные отображались в таком формате:
Это похоже на результат CROSS JOIN, где всеразличные комбинации представлены в столбце A и столбце B. Таким образом, есть наложение, но это необходимая настройка для его визуализации (по крайней мере, это единственный способ, который, я думаю, выполним).
Итак, если я собираюсь использовать этот конкретный метод, как мне запросить мой набор данных, чтобы вернуть его в этом формате?
Также открыт для других идей о том, как думать / визуализировать эту конкретную ситуацию, но хотел задать мой конкретный вопрос.