以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]根据不同比例进行计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161522)

--  作者:xuxd76
--  发布时间:2021/3/20 12:11:00
--  [求助]根据不同比例进行计算

图片点击可在新窗口打开查看此主题相关图片如下:考核表.png
图片点击可在新窗口打开查看


With DataTables("日记帐管理_统计表").DataCols  \'用表达式列计算数据
  .Add("老产品考核收入",Gettype(Double), "IsNull([考核工资] * 老品比例 ,0)")
End With

蓝老师,我要做一个比例计算
有新品比例\\老品比例
我需要收入*比例.
比例选择是这样的:如果指标超10%则[考核工资*1.1]、超20%则[考核工资*1.2]以此类推封顶为500元。年度总考核收入不超过6000元.

蓝老师,这个计算公式要如何计算?这个是实在不会了.

--  作者:有点蓝
--  发布时间:2021/3/20 12:21:00
--  
这个要嵌套好多层,建议还是使用代码处理

IIF(老品比例 >= 0.1 and 老品比例 < 0.2,考核工资*1.1,IIF(老品比例 >= 0.2 and 老品比例 < 0.3,考核工资*1.2,IIF(.....)))
--  作者:xuxd76
--  发布时间:2021/3/20 12:45:00
--  
直接在表里用表达式来处理吗?
--  作者:xuxd76
--  发布时间:2021/3/20 13:28:00
--  
蓝老师:我这样写提示表达式错误

IIF(老品比例 >= 1.1 and 老品比例 < 1.2,考核工资*0.1,IIF(老品比例 >= 1.2 and 老品比例 < 1.3,考核工资*0.2,IIF(老品比例 >= 1.3 and 老品比例 < 1.4,考核工资*0.3,IIF(老品比例 >= 1.4 and 老品比例 < 1.5,考核工资*0.4,IIF(老品比例 >= 1.4 and 老品比例 < 1.5,考核工资*0.5)))))

--  作者:有点蓝
--  发布时间:2021/3/20 14:12:00
--  
IIF(老品比例 >= 1.1 and 老品比例 < 1.2,考核工资*0.1,IIF(老品比例 >= 1.2 and 老品比例 < 1.3,考核工资*0.2,IIF(老品比例 >= 1.3 and 老品比例 < 1.4,考核工资*0.3,IIF(老品比例 >= 1.4 and 老品比例 < 1.5,考核工资*0.4,IIF(老品比例 >= 1.5 and 老品比例 < 1.6,考核工资*0.5,考核工资)))))
--  作者:xuxd76
--  发布时间:2021/3/20 14:35:00
--  
蓝老师,我做出来了,感谢案例提醒!
--  作者:xuxd76
--  发布时间:2021/3/20 15:05:00
--  
蓝老师,还有一个问题请教!!
刚才表中是用的表达试算出来的数据,但是不能用来统计.
比如经过三个月后,有三个月数据了,我要统计每个人的三个月的考核工资,这个应该怎么做?

谢谢!

--  作者:xuxd76
--  发布时间:2021/3/20 15:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:业务结算.zip


这是我做的案例


图片点击可在新窗口打开查看此主题相关图片如下:考核统计表.png
图片点击可在新窗口打开查看

我想在这里做一个统计表
因为每月计算出来的考核工资,要与年度总数来比较,就是一个累计数据
比如考核工资是1000,全年最高考核发放工资为12000+6000=18000.
我要计算年度中月份截止数为确定当月发放工资
比如:徐先生考核工资是1000元,在1月份考核指标完成80%,得到800元,那考核工资*80%,在2月指标达到180%,正常月度是1500,但累计到2月可以得到1月:1500元+2月1500元,即到2月底可得考核另加工资3000元.但是1月得800元,加本月计算出来的是1500元,才2300元,这时要补上700元,因为二个月总指标超过了二月和.
如果能统计,那我会算出来,但是表达式是不能统计的,我就完全没方向了.

请蓝老师指教!

--  作者:有点蓝
--  发布时间:2021/3/20 15:38:00
--  
方法1、可以使用SQLGroupTableBuilder,支持表达式计算
2、可以统计后自己增加表达式列计算,或者使用代码计算,如:http://www.foxtable.com/webhelp/topics/3227.htm