跳转到主内容
跳转到主内容

sparkbar

sparkbar

引入于:v21.11

该函数在区间 [min_x, max_x] 内,为取值 x 及其重复次数 y 绘制频率直方图。 所有落入同一桶中的 x 的重复次数会被取平均值,因此数据应当预先聚合。 负值的重复次数会被忽略。

如果未指定区间,则使用最小的 x 作为区间起点,最大的 x 作为区间终点。 否则,区间之外的值会被忽略。

语法

sparkbar(buckets[, min_x, max_x])(x, y)

别名: sparkBar

参数

参数(Arguments)

返回值

返回频率直方图。String

示例

未指定区间时

CREATE TABLE spark_bar_data (`value` Int64, `event_date` Date) ENGINE = MergeTree ORDER BY event_date;

INSERT INTO spark_bar_data VALUES (1,'2020-01-01'), (3,'2020-01-02'), (4,'2020-01-02'), (-3,'2020-01-02'), (5,'2020-01-03'), (2,'2020-01-04'), (3,'2020-01-05'), (7,'2020-01-06'), (6,'2020-01-07'), (8,'2020-01-08'), (2,'2020-01-11');

SELECT sparkbar(9)(event_date, cnt) FROM (SELECT sum(value) AS cnt, event_date FROM spark_bar_data GROUP BY event_date);
┌─sparkbar(9)(event_date, cnt)─┐
│ ▂▅▂▃▆█  ▂                    │
└──────────────────────────────┘

指定区间的情况

SELECT sparkbar(9, toDate('2020-01-01'), toDate('2020-01-10'))(event_date, cnt) FROM (SELECT sum(value) AS cnt, event_date FROM spark_bar_data GROUP BY event_date);
┌─sparkbar(9, toDate('2020-01-01'), toDate('2020-01-10'))(event_date, cnt)─┐
│ ▂▅▂▃▇▆█                                                                  │
└──────────────────────────────────────────────────────────────────────────┘