- No modo Live, as funções MEDIAN() e PERCENTILE() (a partir da versão 0.1.3 do conector) usam a função quantile()() do ClickHouse, o que acelera significativamente o cálculo, mas usa amostragem. Se você quiser obter resultados de cálculo exatos, use as funções
MEDIAN_EXACT() e PERCENTILE_EXACT() (baseadas em quantileExact()()).
- No modo Extract, você não pode usar MEDIAN_EXACT() e PERCENTILE_EXACT() porque MEDIAN() e PERCENTILE() são sempre precisas (e lentas).
Funções adicionais para campos calculados no modo Live
O ClickHouse tem um grande número de funções que podem ser usadas na análise de dados — muito mais do que o Tableau oferece. Para facilitar o uso, adicionamos novas funções que podem ser usadas no modo Live ao criar Campos Calculados. Infelizmente, não é possível adicionar descrições a essas funções na interface do Tableau, então vamos descrevê-las aqui mesmo.
-If Combinador de agregação (adicionado na v0.2.3) - permite aplicar filtros no nível da linha diretamente no cálculo de agregação. As funções SUM_IF(), AVG_IF(), COUNT_IF(), MIN_IF() & MAX_IF() foram adicionadas.
BAR([my_int], [min_val_int], [max_val_int], [bar_string_length_int]) (adicionado na v0.2.1) — Esqueça os gráficos de barras sem graça! Use a função BAR() em vez disso (equivalente a bar() no ClickHouse). Por exemplo, este campo calculado retorna barras elegantes como String:
BAR([my_int], [min_val_int], [max_val_int], [bar_string_length_int]) + " " + FORMAT_READABLE_QUANTITY([my_int])
== BAR() ==
██████████████████▊ 327.06 million
█████ 88.02 million
███████████████ 259.37 million
COUNTD_UNIQ([my_field]) (adicionado na v0.2.0) — Calcula o número aproximado de valores distintos do argumento. Equivalente a uniq(). Muito mais rápida que COUNTD().
DATE_BIN('day', 10, [my_datetime_or_date]) (adicionado na v0.2.1) — equivalente à toStartOfInterval() no ClickHouse. Arredonda um Date ou Date & Time para baixo até o intervalo especificado, por exemplo:
== my_datetime_or_date == | == DATE_BIN('day', 10, [my_datetime_or_date]) ==
28.07.2004 06:54:50 | 21.07.2004 00:00:00
17.07.2004 14:01:56 | 11.07.2004 00:00:00
14.07.2004 07:43:00 | 11.07.2004 00:00:00
FORMAT_READABLE_QUANTITY([my_integer]) (adicionado na v0.2.1) — Retorna um número arredondado com um sufixo (mil, milhão, bilhão etc.) em formato de string. É útil para facilitar a leitura de números grandes. Equivalente a formatReadableQuantity().
FORMAT_READABLE_TIMEDELTA([my_integer_timedelta_sec], [optional_max_unit]) (adicionado na v0.2.1) — Aceita o intervalo de tempo em segundos. Retorna um intervalo de tempo com (ano, mês, dia, hora, minuto, segundo) como string. optional_max_unit é a maior unidade a ser exibida. Valores aceitos: seconds, minutes, hours, days, months, years. Equivalente a formatReadableTimeDelta().
GET_SETTING([my_setting_name]) (adicionado na v0.2.1) — Retorna o valor atual de uma configuração personalizada. Equivale a getSetting().
HEX([my_string]) (adicionado na v0.2.1) — Retorna uma string com a representação hexadecimal do argumento. Equivalente a hex().
KURTOSIS([my_number]) — Calcula a curtose amostral de uma sequência. É equivalente a kurtSamp().
KURTOSISP([my_number]) — Calcula a curtose de uma sequência. Equivale a kurtPop().
MEDIAN_EXACT([my_number]) (adicionado na v0.1.3) — Calcula com exatidão a mediana de uma sequência de dados numéricos. Equivalente a quantileExact(0.5)(...).
MOD([my_number_1], [my_number_2]) — Calcula o resto da divisão. Se os argumentos forem números de ponto flutuante, serão convertidos previamente em inteiros, descartando a parte decimal. Equivalente a modulo().
PERCENTILE_EXACT([my_number], [level_float]) (adicionada na v0.1.3) — Calcula exatamente o percentil de uma sequência de dados numéricos. O nível recomendado está no intervalo [0.01, 0.99]. Equivalente a quantileExact()().
PROPER([my_string]) (adicionado na v0.2.5) - Converte uma cadeia de texto para que a primeira letra de cada palavra fique em maiúscula e as letras restantes fiquem em minúsculas. Espaços e caracteres não alfanuméricos, como sinais de pontuação, também funcionam como separadores. Por exemplo:
PROPER("PRODUCT name") => "Product Name"
PROPER("darcy-mae") => "Darcy-Mae"
RAND() (adicionado na v0.2.1) — retorna um número inteiro (UInt32), por exemplo 3446222955. É equivalente a rand().
RANDOM() (adicionado na v0.2.1) — função não oficial do Tableau RANDOM(), que retorna um valor de ponto flutuante entre 0 e 1.
RAND_CONSTANT([optional_field]) (adicionado na v0.2.1) — Produz uma coluna constante com um valor aleatório. É como um Fixed LOD com {RAND()}, mas mais rápido. Equivalente a randConstant().
REAL([my_number]) — Converte o campo em float (Float64). Detalhes aqui.
SHA256([my_string]) (adicionado na v0.2.1) — Calcula o hash SHA-256 de uma string e retorna o conjunto de bytes resultante como uma string (FixedString). É conveniente usá-la com a função HEX(), por exemplo, HEX(SHA256([my_string])). Equivalente a SHA256().
SKEWNESS([my_number]) — Calcula a assimetria amostral de uma sequência. É equivalente a skewSamp().
SKEWNESSP([my_number]) — Calcula a assimetria de uma sequência. É equivalente a skewPop().
TO_TYPE_NAME([field]) (adicionado na v0.2.1) — Retorna uma string com o nome do tipo no ClickHouse do argumento informado. Equivalente a toTypeName().
TRUNC([my_float]) — É igual à função FLOOR([my_float]). Equivalente a trunc().
UNHEX([my_string]) (adicionado na v0.2.1) — Executa a operação inversa de HEX(). Equivalente a unhex().
Última modificação em 10 de junho de 2026