数据分级匹配方法的详细介绍
1 简介
1.1功能介绍
数据分级中存在多种匹配方法,不同的匹配方法应用在不同的场景中以实现不同的计算需求。
1.2应用场景
1、精确匹配
功能说明:当输入的条件值与数据分级表中存在的条件值完全一致时返回结果,否则进入匹配失败处理(处理逻辑详见下文)。
举例说明:
某公司的交通补贴和通讯补贴是根据部门和职级来计算,具体政策如下:
人力部员工,职级P1,交通补贴100元,通讯补贴50元,职级P2,交通补贴150元,通讯补贴100元。
财务部员工,职级P1,交通补贴50元,通讯补贴100元,职级P2,交通补贴100元,通讯补贴150元。
转化为如下的数据分级表
条件 | 结果(单位:人民币元) | ||
部门 | 职级 | 交通补贴 | 通讯补贴 |
人力部 | P1 | 100 | 50 |
人力部 | P2 | 150 | 100 |
财务部 | P1 | 50 | 100 |
财务部 | P2 | 100 | 150 |
在模拟计算或在公式中运行数据分级时,只有部门和职级都匹配值时,才返回结果值,例如,输入:部门=人力部,职级=P2,返回:交通补贴=150,通讯补贴=100,否则转入匹配失败处理,例如,输入:部门=研发部,职级=P2,返回:匹配失败。
2、使用最接近的较低值
功能说明:当输入的条件值与数据分级表中存在的条件值不完全一致时返回与条件值最接近的较低行的结果。
举例说明:
劳务员工纳税免税额,法律依据为《中华人民共和国个人所得税法》第六条,劳务报酬所得的应纳税所得额为:每次劳务报酬收入不足4000元的,用收入减去800元的费用,大于4000的免税20%。
转化为如下的数据分级表
条件 | 结果 | ||
员工类型 | 应税工资 | 免税额 | 免税比例 |
劳务员工 | 0 | 800 | 0.00 |
劳务员工 | 4000.01 | 0.00 | 0.20 |
该表的含义是:当员工类型=劳务员工且应税工资的范围在[0,4000]时,返回的免税额=800,免税比例=0.00,当员工类型=劳务员工且应税工资大于4000时,返回的免税额=0.00,免税比例=0.20。
在模拟计算或在公式中运行数据分级时,优先匹配第一个条件,当员工类型不匹配时,转入匹配失败处理,例如,输入:员工类型=正式员工,应税工资=2000,返回:匹配失败。当第一个条件匹配成功再对第二个条件进行匹配处理,例如,输入:员工类型=劳务员工,应税工资=2500,因为在0→4000之间,0是更低的那个值,因此返回0所在行结果:免税额=800,免税比例=0.00。
3、使用最接近的较高值
功能说明:当输入的条件值与数据分级表中存在的条件值不完全一致时返回与条件值最接近的较高行的结果。
举例说明:
某公司的司龄补贴是根据司龄来计算,司龄精确到每月,具体政策如下:
司龄不足一年的,按一年计算,每月司龄补贴200元。
司龄超过一年不足两年的,按两年计算,每月司龄补贴240元。
…之后每增加一年司龄,司龄补贴增加40元。
司龄补贴十年封顶,每月司龄补贴840元。
转化为如下的数据分级表
司龄 | 司龄补贴 |
1.00 | 200 |
2.00 | 240 |
… | … |
10.00 | 840 |
该表的含义是:当员工的司龄在[0,1]时,返回的司龄补贴=200元,当员工的司龄在(1,2]时,返回的司龄补贴=240元,之后以此类推,当员工的司龄大于10时,因为没有比10更大的条件行了,所以为了使大于10的数据也能匹配到10这一行,将“使用超出上下限处理策略”选择为是。
在模拟计算或在公式中运行数据分级时,按照司龄进行匹配,当司龄不匹配时,转入匹配失败处理,例如,输入:司龄=五,返回:匹配失败。当输入的司龄为数值时,例如,输入:司龄=1.5,,因为在1→2之间,2是更高的那个值,因此返回2所在行结果:司龄补贴=240元。
4、使用最接近的值
功能说明:当输入的条件值与数据分级表中存在的条件值不完全一致时返回与条件值最接近的行的结果,如果正好处于中间,则默认返回最接近的较高值。
举例说明:
某公司的浮动奖金系数是根据司龄来计算的,司龄精确到每月,具体政策如下:
司龄不超过半年的,按0计算,浮动奖金系数0.1
司龄超过半年不满一年半的,按一年计算,浮动奖金系数0.11
司龄超过一年半不满两年半的,按两年计算,浮动奖金系数0.12
每过一年浮动系数增加0.01,最高5年封顶
司龄超过四年半的,按五年计算,浮动奖金系数0.15
转化为如下的数据分级表
司龄 | 浮动奖金系数 |
0.00 | 0.10 |
1.00 | 0.11 |
2.00 | 0.12 |
3.00 | 0.13 |
4.00 | 0.14 |
5.00 | 0.15 |
该表的含义是:当员工的司龄在[0,0.5)时,返回的浮动奖金系数=0.10,当员工的司龄在[0.5,1.5)时,返回的浮动奖金系数=0.11,之后以此类推,当员工的司龄大于5时,因为没有比5更大的条件行了,所以无论司龄多大都会返回0.15。
在模拟计算或在公式中运行数据分级时,按照司龄进行匹配,当司龄不匹配时,转入匹配失败处理,例如,输入:司龄=五,返回:匹配失败。当输入的司龄为数值时,例如,输入:司龄=2.5,因为在2→3之间,并且与2和3的距离都一样,但是根据默认规则返回更高行,因此返回3所在行结果:浮动奖金系数=0.13。
5、线性
功能说明:当输入的条件值与数据分级表中存在的条件值不完全一致时返回与根据条件和结果值构建的一元一次函数的结果。
举例说明:
为了激励销售团队,某公司的销售奖金系数是根据销售金额精确计算的:政策如下
销售金额在10万以下的,销售奖金系数等于0.1
销售金额在10万→30万之间的,销售奖金系数在0.1→0.15之间
销售金额在30万→60万之间的,销售奖金系数在0.15→0.3之间
销售金额在60万→100万之间的,销售奖金系数在0.3→0.6之间
销售金额在100万以上的,销售奖金系数等于0.6
转化为如下的数据分级表
销售金额(单位:10万元) | 销售奖金系数 |
1 | 0.10 |
3 | 0.15 |
6 | 0.3 |
10 | 0.6 |
该表的含义是:当员工的销售金额在[1,3]时,根据(1,0.1)和(3,0,15)两个点可以构建一个线性函数:Y=0.025X+0.075,之后区间的函数以此类推,当员工的销售金额大于10/小于1时,因为没有另外的点可以构建线性函数了,所以为了使超出上限等于上限,低于下限等于下限,将“使用超出上下限处理策略”选择为是。
在模拟计算或在公式中运行数据分级时,按照销售金额进行匹配,当销售金额不匹配时,转入匹配失败处理,例如,输入:销售金额=一,返回:匹配失败。当输入的司龄为数值时,例如,输入:销售金额=4.5,因为在3→6之间,构建的函数为:Y=0.05X,因此返回X=4.5的计算结果:销售奖金系数=0.225。
数据分级匹配方法的详细介绍
本文2024-09-22 23:28:56发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-133304.html