И снова на диване.
1️⃣ Отрисовка бар-чарта прямо в терминале
Оптимально для быстрого анализа, чтобы прикинуть распределение данных без экспорта в Excel или BI.
bar(x, min, max, width)
где х - название колонки, min и max - диапазон, а width - ширина бара в символах.
2️⃣ Словари для доступа к часто используемым справочникам
Например, когда нужно дотянуть страну или категорию пользователя. Это оптимальнее, чем обычный джойн, снижает нагрузку на базу данных. Для работы со словарем его нужно предварительно создать через CREATE DICTIONARY.
joinGet('dictionary_name', 'attribute', key)3️⃣ Функция для воронки продукта
Возвращает номер максимального достигнутого шага для каждого пользователя, поэтому не забывай корректно обработать данные после использования функции, чтобы не потерять юзеров.
windowFunnel(window_seconds)(
timestamp_column,
event1_condition,
event2_condition,
...,
eventN_condition
)
4️⃣ Найти цепочку событий
В отличие от windowFunnel, которая возвращает номер достигнутого шага воронки, sequenceMatch отвечает на вопрос, встретилась ли в данных нужная цепочка событий. Оптимально для окон атрибуции в аналитике маркетинга.
sequenceMatch('pattern')(timestamp, cond1, cond2, ..., condN) 5️⃣ Функции для АВ-тестов
ClickHouse позволяет делать анализ АВ-тестов прямо в SQL, спектр доступных функций довольно широкий. Приведу два примера:
studentTTest(sample1, sample2) -- равенство стредних
proportionsZTest(successes1, trials1, successes2, trials2) -- равенство долей (конверсий) в двух группах
P.S. Возможно, твоя задача решается проще, чем ты думаешь, нужно всего лишь загуглить или заджипитить)
Ставь 🔥, если узнал что-то новое
Ставь 🤕, если все это знал
#SQL_на_диване
@Divan_data