跳到主要内容
跳到主要内容
编辑此页

分析技巧

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() 函数(相当于 ClickHouse 中的 bar())。例如,此计算字段以字符串形式返回漂亮的条形图
    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]) (在 v0.2.0 中添加) — 计算参数的不同值的近似数量。相当于 uniq()。比 COUNTD() 快得多。
  • DATE_BIN('day', 10, [my_datetime_or_date]) (在 v0.2.1 中添加) — 相当于 ClickHouse 中的 toStartOfInterval()。将日期或日期和时间向下舍入到给定的间隔,例如
     == 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]) (在 v0.2.1 中添加) — 返回带有后缀(千、百万、十亿等)的舍入数字作为字符串。它对于人类读取大数字很有用。相当于 formatReadableQuantity()
  • FORMAT_READABLE_TIMEDELTA([my_integer_timedelta_sec], [optional_max_unit]) (在 v0.2.1 中添加) — 接受以秒为单位的时间增量。返回一个带有(年、月、日、小时、分钟、秒)的时间增量作为字符串。optional_max_unit 是要显示的最大单位。可接受的值:secondsminuteshoursdaysmonthsyears。相当于 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 中添加) - 转换文本字符串,使每个单词的首字母大写,其余字母小写。空格和标点符号等非字母数字字符也充当分隔符。例如
    PROPER("PRODUCT name") => "Product Name"
    PROPER("darcy-mae") => "Darcy-Mae"
  • RAND() (在 v0.2.1 中添加) — 返回整数 (UInt32) 数字,例如 3446222955。相当于 rand()
  • RANDOM() (在 v0.2.1 中添加) — 非官方的 RANDOM() Tableau 函数,返回 0 到 1 之间的浮点数。
  • RAND_CONSTANT([optional_field]) (在 v0.2.1 中添加) — 生成具有随机值的常量列。类似于 {RAND()} Fixed LOD,但速度更快。相当于 randConstant()
  • REAL([my_number]) — 将字段强制转换为浮点数 (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()