找文章 / 找答案
精选问答 更多内容

如何计算完成率最后三名

yhdata_Q3Qfp1KV铂金一 显示全部楼层 发表于 2023-7-20 15:12:57 |阅读模式 打印 上一主题 下一主题
1
已解决

如何计算完成率最后三名

2766 15
完成率为计算列,如果完成率数值相同时如何取后三名呢?

最佳答案

社区管理员
yanieye 关注Ta

2023-07-20 15:12:58

有直接的函数: 先把对应列的值都收集到一个数组,然后用large,或者small获取值。 比如 var vals = [1,3,2,4,8,6]; var max1 = large(vals, 1); var max2 = large(vals, 2); var min1 = small(vals, 1); var min2 = small(vals, 2);
查看完整内容
回复

使用道具 举报

精彩评论15

yanieye 显示全部楼层 发表于 2023-7-20 15:12:58
有直接的函数:
先把对应列的值都收集到一个数组,然后用large,或者small获取值。
比如
var vals = [1,3,2,4,8,6];
var max1 = large(vals, 1);
var max2 = large(vals, 2);
var min1 = small(vals, 1);
var min2 = small(vals, 2);
回复

使用道具 举报

yhdata_ruby铂金一 显示全部楼层 发表于 2023-7-20 15:16:20
取这个值做什么啊
回复

使用道具 举报

yhdata_Q3Qfp1KV铂金一 显示全部楼层 发表于 2023-7-20 15:19:21
本帖最后由 yhdata_Q3Qfp1KV 于 2023-7-20 15:21 编辑
yhdata_ruby 发表于 2023-7-20 15:16
取这个值做什么啊

前三名显示绿色,后三名高亮显示为黄色,低于平均值显示为红色;应该如何取前三名、后三名以及平均值参数呢
回复

使用道具 举报

小鱼儿青铜三 显示全部楼层 发表于 2023-7-20 15:27:26
本帖最后由 小鱼儿 于 2023-7-20 15:28 编辑

我之前把前三的第三名a1,后三的第三名a2,平均数a3都取出来作为参数,在高亮那里设置过滤条件做的,完成率>a1 绿色,完成率<a2,黄色,完成率<a3,红色。类似于通过图表设置高级排序降序top3,脚本取表格的第三行数据,赋值给参数,然后把图表隐藏
我觉得有点笨这个方法,仅供参考
回复

使用道具 举报

yhdata_ruby铂金一 显示全部楼层 发表于 2023-7-20 15:35:51
yhdata_Q3Qfp1KV 发表于 2023-7-20 15:19
前三名显示绿色,后三名高亮显示为黄色,低于平均值显示为红色;应该如何取前三名、后三名以及平均值参数 ...

目前的高亮功能暂不支持,可以考虑四楼的方法
回复

使用道具 举报

yhdata_Q3Qfp1KV铂金一 显示全部楼层 发表于 2023-7-20 15:36:53
小鱼儿 发表于 2023-7-20 15:27
我之前把前三的第三名a1,后三的第三名a2,平均数a3都取出来作为参数,在高亮那里设置过滤条件做的,完成率 ...

不笨不笨,我现在也是设置参数,在高亮那过滤,但是完成率是计算列,没有办法再聚合,平均数我用总完成率/总行数求得,但不知道应该如何求前三名、后三名
回复

使用道具 举报

yhdata_Q3Qfp1KV铂金一 显示全部楼层 发表于 2023-7-20 15:39:45
yhdata_ruby 发表于 2023-7-20 15:35
目前的高亮功能暂不支持,可以考虑四楼的方法

想知道如何取数,并不是如何设置高亮哦
回复

使用道具 举报

yhdata_ruby铂金一 显示全部楼层 发表于 2023-7-20 15:47:56
yhdata_Q3Qfp1KV 发表于 2023-7-20 15:39
想知道如何取数,并不是如何设置高亮哦

var data=getViewData("图表1")
param['a']=data.get(2,0) //get是取的表格的第几行第几列的数据

把获取到的值作为一个参数,高亮里去设置
回复

使用道具 举报

yhdata_Q3Qfp1KV铂金一 显示全部楼层 发表于 2023-7-20 16:11:26
yhdata_ruby 发表于 2023-7-20 15:47
var data=getViewData("图表1")
param['a']=data.get(2,0) //get是取的表格的第几行第几列的数据

目标完成率这一列数据是无序的,现在取到了平均值,不知如何取前三名,后三名,因为前三名后三名不是固定在第几行第几列
param['max1']=a.get(4,6)      //给参数设置默认值为第一个数据,a.get(1,1)表示获取第2行第2列的数据,表格行列数从0开始计算,根据数据所在行列数自行修改即可
param['min1']=a.get(4,6)       //给参数设置默认值为第二个数据
for(var i=4;i<a.size();i++){
if(a.get(i,6)>param['max1']){
param['max1']=a.get(i,6)     //获取最大值作为参数max
param['avg1']=a.get(3,5)/a.get(i,6)
}
if(a.get(i,6)<param['min1']){
param['min1']=a.get(i,6)     //获取最小值作为参数min

}
}
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部