sparkbar
该函数为值 x
和这些值在区间 [min_x, max_x]
上的重复率 y
绘制频率直方图。将落入同一桶中的所有 x
的重复率取平均值,因此数据应预先聚合。负重复率将被忽略。
如果未指定区间,则最小值 x
用作区间起点,最大值 x
用作区间终点。否则,将忽略区间外的值。
语法
sparkbar(buckets[, min_x, max_x])(x, y)
参数
buckets
— 段数。类型:整数。min_x
— 区间起点。可选参数。max_x
— 区间终点。可选参数。
参数
x
— 包含值的字段。y
— 包含值频率的字段。
返回值
- 频率直方图。
示例
查询
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);
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)(event_date, cnt)─┐
│ ▂▅▂▃▆█ ▂ │
└──────────────────────────────┘
┌─sparkbar(9, toDate('2020-01-01'), toDate('2020-01-10'))(event_date, cnt)─┐
│ ▂▅▂▃▇▆█ │
└──────────────────────────────────────────────────────────────────────────┘
此函数的别名是 sparkBar。