Советы по анализу
Функции MEDIAN() и PERCENTILE()
- В режиме Live функции MEDIAN() и PERCENTILE() (начиная с версии коннектора v0.1.3) используют функцию ClickHouse quantile()(), что значительно ускоряет расчет, но использует выборку. Если вы хотите получить точные результаты расчетов, используйте функции MEDIAN_EXACT()иPERCENTILE_EXACT()(основанные на quantileExact()()).
- В режиме Extract нельзя использовать MEDIAN_EXACT() и PERCENTILE_EXACT(), потому что MEDIAN() и PERCENTILE() всегда точные (и медленные).
Дополнительные функции для вычисляемых полей в режиме Live
ClickHouse имеет огромное количество функций, которые можно использовать для анализа данных — гораздо больше, чем поддерживает Tableau. Для удобства пользователей мы добавили новые функции, доступные в режиме Live при создании вычисляемых полей. К сожалению, описания этих функций нельзя добавить в интерфейсе Tableau, поэтому мы добавим описания сюда.
- -IfКомбинатор агрегации (добавлено в v0.2.3) - позволяет иметь фильтры на уровне строк прямо в агрегации. Были добавлены функции- SUM_IF(), AVG_IF(), COUNT_IF(), MIN_IF() & MAX_IF().
- BAR([my_int], [min_val_int], [max_val_int], [bar_string_length_int])(добавлено в v0.2.1) — Забудьте о скучных столбчатых диаграммах! Используйте функцию- BAR()вместо этого (аналог функции- bar()в ClickHouse). Например, это вычисляемое поле возвращает красивые столбцы в виде строки:
- COUNTD_UNIQ([my_field])(добавлено в v0.2.0) — Рассчитывает приблизительное количество различных значений аргумента. Аналог функции uniq(). Намного быстрее, чем- COUNTD().
- DATE_BIN('day', 10, [my_datetime_or_date])(добавлено в v0.2.1) — аналог функции- toStartOfInterval()в ClickHouse. Округляет дату или дату и время до заданного интервала, например:
- FORMAT_READABLE_QUANTITY([my_integer])(добавлено в v0.2.1) — Возвращает округленное число с суффиксом (тысяча, миллион, миллиард и т.д.) в виде строки. Полезно для удобного восприятия больших чисел. Аналог функции- formatReadableQuantity().
- FORMAT_READABLE_TIMEDELTA([my_integer_timedelta_sec], [optional_max_unit])(добавлено в v0.2.1) — Принимает временной интервал в секундах. Возвращает временной интервал с (год, месяц, день, час, минута, секунда) в виде строки.- optional_max_unit- максимальная единица для отображения. Допустимые значения:- seconds,- minutes,- hours,- days,- months,- years. Аналог функции- formatReadableTimeDelta().
- GET_SETTING([my_setting_name])(добавлено в v0.2.1) — Возвращает текущее значение пользовательской настройки. Аналог функции- getSetting().
- HEX([my_string])(добавлено в v0.2.1) — Возвращает строку, содержащую шестнадцатеричное представление аргумента. Аналог функции- hex().
- KURTOSIS([my_number])— Вычисляет выборочную куртозу последовательности. Аналог функции- kurtSamp().
- KURTOSISP([my_number])— Вычисляет куртозу последовательности. Аналог функции- kurtPop().
- MEDIAN_EXACT([my_number])(добавлено в v0.1.3) — Точно вычисляет медиану числовой последовательности. Аналог функции- quantileExact(0.5)(...).
- MOD([my_number_1], [my_number_2])— Вычисляет остаток после деления. Если аргументы являются числами с плавающей запятой, они предварительно преобразуются в целые числа, отбрасывая десятичную часть. Аналог функции- modulo().
- PERCENTILE_EXACT([my_number], [level_float])(добавлено в v0.1.3) — Точно вычисляет процентили числовой последовательности. Рекомендуемый диапазон уровней — [0.01, 0.99]. Аналог функции- quantileExact()().
- PROPER([my_string])(добавлено в v0.2.5) - Преобразует текстовую строку так, чтобы первая буква каждого слова была заглавной, а остальные буквы — строчными. Пробелы и не алфавитные символы, такие как знаки препинания, также действуют как разделители. Например:
- RAND()(добавлено в v0.2.1) — возвращает целое (UInt32) число, например- 3446222955. Аналог функции- rand().
- RANDOM()(добавлено в v0.2.1) — неофициальная функция- RANDOM()Tableau, которая возвращает float от 0 до 1.
- RAND_CONSTANT([optional_field])(добавлено в v0.2.1) — Создает константную колонку со случайным значением. Что-то вроде- {RAND()}фиксированное LOD, но быстрее. Аналог функции- randConstant().
- REAL([my_number])— Приводит поле к типу float (Float64). Подробнее- здесь.
- SHA256([my_string])(добавлено в v0.2.1) — Вычисляет хеш SHA-256 из строки и возвращает полученный набор байтов в виде строки (FixedString). Удобно использовать с функцией- HEX(), например,- HEX(SHA256([my_string])). Аналог функции- SHA256().
- SKEWNESS([my_number])— Вычисляет выборочную асимметрию последовательности. Аналог функции- skewSamp().
- SKEWNESSP([my_number])— Вычисляет асимметрию последовательности. Аналог функции- skewPop().
- TO_TYPE_NAME([field])(добавлено в v0.2.1) — Возвращает строку, содержащую имя типа ClickHouse переданного аргумента. Аналог функции- toTypeName().
- TRUNC([my_float])— Это то же самое, что и функция- FLOOR([my_float]). Аналог функции- trunc().
- UNHEX([my_string])(добавлено в v0.2.1) — Выполняет противоположную операцию функции- HEX(). Аналог функции- unhex().
