要实现的效果:实现通过输入参数,进行图表top的排序筛选
图示:
筛选前:
输入3,看top3的值:
输入-3,看倒数3个的值:
设置步骤:
1️⃣:添加一个“文本参数组件”,添加一个“柱状图组件”
2️⃣:文本参数组件设置为:整数
柱状图组件:省份按照销售额进行高级降序排序,然后绑定文本参数
3️⃣:这样就可以实现了,在文本参数组件里输入“正数”进行topn的筛选,但还实现不了“负值”的排序筛选,需要写脚本来实现
4️⃣:用脚本来实现负值情况下能显示倒数的topN
脚本:
//获取文本参数值
var rank1=param["topN参数"]
//获取柱状图x轴的数据
var col=topN组件.binding.getXCol(0)
if(rank1>0){
//如果获取的参数大于0,就让图表降序排序
col.sortType=6
//拍完序设置topn的个数
col.sortRank=parseInt(rank1)
}else{
//获取到的是负数的话,就让图表升序排序
col.sortType=5
col.sortRank=Math.abs(rank1)
}
topN组件.binding.setXCol(0,col)
代码实现思路:
获取文本参数的参数值->获取柱状图x轴的数据->
如果输入的参数大于0,那就将图表进行降序排序->然后把获取到的参数值赋值给图表进行topN的筛选->把topN筛选的索引给图表,图表最后进行可视化呈现
如果输入的参数小于0,那就将图表升序排序->然后把获取的到参数值转换为正值,再赋值给图表进行topN的筛选->把topN筛选的索引给图表,图表最后进行可视化呈现
函数解析:
param["topN参数"]:引用参数param['参数']
getXCol():获取x轴的绑定字段的信息
sortType:
parseInt:将字符串转换为整数
sortRank:设置高级排序中TopN
Math.abs:计算数值的绝对值