图表最大最小值设置
图表最大最小值设置
图表多条数据折线需要设置合适的最大值和最小值,以便清晰展示曲线趋势变化。
方法一:SQL查询
基础极值
-- 最小值
sql("数据库","select least(min(column1),min(column2),min(column3)) from 表名",1,1)
-- 最大值
sql("数据库","select greatest(max(column1),max(column2),max(column3)) from 表名",1,1)
带边距的极值(推荐)
为了美观,在极值基础上增加10%的边距:
-- 最小值(减去10%边距)
sql("数据库","select
least(min(column1),min(column2),min(column3)) -
(greatest(max(column1),max(column2),max(column3)) - least(min(column1),min(column2),min(column3))) * 0.1
from 表名",1,1)
-- 最大值(增加10%边距)
sql("数据库","select
greatest(max(column1),max(column2),max(column3)) +
(greatest(max(column1),max(column2),max(column3)) - least(min(column1),min(column2),min(column3))) * 0.1
from 表名",1,1)
方法二:数据集函数
基础用法
-- 最大值
max(ds1.select(销量))
-- 最小值
min(ds1.select(销量))
带边距处理
-- 最大值(增加20%边距)
if(max(ds1.select(销量)) >= 0,
max(ds1.select(销量)) * 1.2,
max(ds1.select(销量)) * 0.8)
-- 最小值(需判断正负)
if(min(ds1.select(销量)) < 0,
min(ds1.select(销量)) * 1.2,
min(ds1.select(销量)) * 0.8)
-- 考虑负值处理时,也可以使用以下公式(以最小值示例,最大值类似处理):
min(value("数据集",列号)) - (max(value("数据集",列号)) - min(value("数据集",列号))) * 0.2
函数对比
- ds1.select(): 简单方便,但无法用于参数面板
- value(): 可用于参数面板,替代ds1.select()
- 性能: 数据集函数会降低性能,每次调用都会执行数据集查询
使用建议
- 推荐使用1.2和0.8倍数设置上下限
- 注意处理负值情况
- 避免滥用数据集函数


浙公网安备 33010602011771号