博客:www.jiaopengzi.com

焦棚子的文章目录

请点击下载附件

一、背景

1、之前写了一个关于入离调转的pp应用,现在个税新增专项附加扣除项目,借此写一个关于薪酬计算的案例;

2、本案例是用工作时长计算薪酬;

3、全勤奖每月200元,每个月工作时长大于等于8小时的天数大于等于20天计为全勤;

4、餐补每月300元,全勤天数不足20天按照15元每天计算,大于20天也是300元(没办法现实就这样);

5、社保缴纳比例和缴纳基数上限下限均为虚拟举例;

6、公积金缴纳比例和缴纳基数上限下限均为虚拟举例;

7、个税缴纳按照起征点为5000的最新税率计算。为了方便起见,本案例中不涉及其他税前补税前扣税后补税后扣相关工资项目。


结果图

二、数据源

1、员工出勤

包含ID,姓名,出勤日期,工作时长(默认处理好的数据)。

2、时薪标准

工作时长每天不超过14小时,标准工作时长8小时,以后每小时递增如下图。

3、最新5000元起征的税率,等级7的上限为9999999是为了计算方便,实际工作中请以相应法律法规为准。

4、社保相关、公积金相关、专项附加扣除均为虚拟数据,实际工作中以相应法律法规为准。

5、根据时薪标准,PQ自定义函数计算出日薪。


自定义日薪函数

提前计算日薪

6、PQ导入日期表

7、建立关系

三、上DAX

1、基本工资

基本工资:=SUM('员工出勤'[日薪])

2、餐补

餐补:=
VAR D =
COUNTROWS ( CALCULATETABLE ( '员工出勤', '员工出勤'[工作时长] > 4 ) )
VAR S = 300 / 20
RETURN
IF ( D >= 20, 300, S * D )

3、全勤奖

全勤奖:=
VAR D =
COUNTROWS ( CALCULATETABLE ( '员工出勤', '员工出勤'[工作时长] >= 8 ) )
RETURN
IF ( D >= 20, 200, BLANK () )

4、专项附加扣除

专项附加扣除:=SUM('专项附加扣除'[金额])

5、公积金上限

公积金上限:=SUM('公积金相关'[基数上限])

6、公积金下限

公积金下限:=SUM('公积金相关'[基数下限])

7、公积金缴费比例

公积金缴费比例:=SUM('公积金相关'[缴费比例])

8、公积金

公积金:=
VAR X = '员工出勤'[基本工资] + '员工出勤'[餐补]+ '员工出勤'[全勤奖]
VAR J =
SWITCH (
TRUE (),
X <= '公积金相关'[公积金下限], '公积金相关'[公积金下限],
X >= '公积金相关'[公积金上限], '公积金相关'[公积金下限],
X
)
RETURN
IF ( X = BLANK (), BLANK (), X * '公积金相关'[公积金缴费比例] )

9、社保上限

社保上限:=SUM('社保相关'[基数上限])

10、社保下限

社保下限:=SUM('社保相关'[基数下限])

11、社保缴费比例

社保缴费比例:=SUM('社保相关'[缴费比例])

12、社保

社保:=
VAR X = '员工出勤'[基本工资] + '员工出勤'[餐补]+ '员工出勤'[全勤奖]
VAR J =
SWITCH (
TRUE (),
X <= '社保相关'[社保下限], '社保相关'[社保下限],
X >= '社保相关'[社保上限], '社保相关'[社保下限],
X
)
RETURN
IF ( X = BLANK (), BLANK (), X * '社保相关'[社保缴费比例] )

13、个税下限

个税下限:=SUM('个税'[下限])

14、个税上限

个税上限:=SUM('个税'[上限])

15、个税税率

个税税率:=SUM('个税'[税率])

16、速算扣除

速算扣除:=SUM('个税'[速算扣除数])

17、个税

个税:=
VAR X = '员工出勤'[基本工资]
+ '员工出勤'[餐补]
+ '员工出勤'[全勤奖]
- '公积金相关'[公积金]
- '社保相关'[社保]
- '专项附加扣除'[专项附加扣除]
- 5000
VAR N =
SWITCH (
TRUE (),
CALCULATE ( '个税'[个税下限], '个税'[级数] = 1 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 1 )>= X, 1,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 2 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 2 )>= X, 2,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 3 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 3 )>= X, 3,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 4 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 4 )>= X, 4,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 5 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 5 )>= X, 5,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 6 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 6 )>= X, 6,
CALCULATE ( '个税'[个税下限], '个税'[级数] = 7 )< X&& CALCULATE ( '个税'[个税上限], '个税'[级数] = 7 )>= X, 7)
RETURN
X* CALCULATE ( '个税'[个税税率], '个税'[级数] = N )- CALCULATE ( '个税'[速算扣除], '个税'[级数] = N )

18、实发工资

实发工资:='员工出勤'[基本工资]
+'员工出勤'[餐补]
+'员工出勤'[全勤奖]
-'社保相关'[社保]
-'公积金相关'[公积金]
-'个税'[个税]

四、总结

1、本案例中没有复杂的DAX逻辑,都是很简单的业务转换;

2、小技巧:时薪转换为日薪的pq自定义函数;

3、参数表的使用;

4、为了方便演示,本案例不涉及其他工资项目,以及公积金超额计税等;

5、笔者并非专业HR从业人员,案例旨在分享Power Pivot相关业务落地使用案例,具体业务有不妥之处望请指正。

by 焦棚子

焦棚子的文章目录

115_Power Pivot之HR薪酬计算:公积金、社保、个税、实发工资相关的更多相关文章

  1. nodeJS代码实现计算交社保是否合适

    本文通过nodejs的一个具体示例来对比分析现阶段我们交社保合不合适, 主要是对nodejs的一个小的应用,当然大家也可以改成其他语言的,程序猿们,来算算吧. 按一个普通程序员8000的月收入算就是1 ...

  2. 127_Power Pivot&Power BI DAX计算订单商品在库时间(延伸订单仓储费用)

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 前面已经写过一个先进先出的库龄案例,在业务发生又有这样一个需求:先进先出前提,需要按照订单计算每个商品在库时间, ...

  3. 106_Power Pivot之HR入离调转、在职、离职率相关指标

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 之前有帮公司HR做了些员工入离调转.在职.人工成本分析等(体量:4000人左右).在和其他朋友交流的时候得知,貌 ...

  4. 关于padding被计算在width中问题——box-sizing相关

    目录 盒子模型 与box-sizing有什么关系 我们为什么要开历史的"倒车" bootstrap怎么解决的 控件的box-sizing 注意甄别 前一阵子遇到一个小问题,在同样的 ...

  5. 复利计算C语言转java的相关代码

    static void principal()// 计算本金 { int N, m; double i, F, P; System.out.printf("复利终值:"); F = ...

  6. 126_Power BI中使用DAX计算股票RSI及股票均线相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 前些日子,有朋友在交流股票RSI用DAX处理的问题,由于RSI股票软件的算法几乎都是需要用到股票从上市第一天开始 ...

  7. 113_Power Pivot 销售订单之重复购买率及购买间隔天数相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在论坛中看到朋友在提复购率(重复购买率)等相关问题,今天把结果贴出来. 问题原贴:计算订单中的老顾客复购率 感谢 ...

  8. 推荐有料哥:HR社保公积金状况大揭底

    昨天下午有料哥和几位三茅运营成员一起和大家进行三个小时的面对面,如潮的问题让几位三茅团队成员都措手不及了,有料哥也融入了大家紧张好奇问题的好奇,无奈水平有限不能很好回复,请大家谅解,有问题还可以在有料 ...

  9. Odoo薪酬管理 公式配置

    薪酬计算的一般原理是:在基本工资的基础上,加上各种津贴,减去社保.公积金.个税等各种扣除项之后,得出最终的实发工资.此外,还要计算社保.公积金等公司应该承担的部分. 在同一公司中,针对不同的地区.不同 ...

随机推荐

  1. 什么是CSS Modules ?我们为什么需要他们

    原文地址:https://css-tricks.com/css-mo...最近我对CSS Modules比较好奇.如果你曾经听说过他们,那么这篇博客正适合你.我们将去探索它的目的和主旨.如果你同样很好 ...

  2. 祖先元素transform非none时在Iphone6上引起后代fixed/absolute元素的怪异表现及解决方案

    如题,祖先元素transform非none时,记录一下Iphone6中引起后代元素fixed参考视图怪异表现和解决方案. 层叠关系及参考视图 层叠上下文是HTML元素的三维概念,这些HTML元素在一条 ...

  3. 体验javascript之美6:如果你觉得什么都会了或者不知道js学什么了看这里-面向对象编程

    概述 当大家已经把js的语言基础理解了,然后能够写出一些简单的例子了,这个时候基本上达到了一年工作经验的水平,而自己能够独立的写一些小功能,完成一些小效果,或者临摹修改一些比较复杂的插件的时候差不多就 ...

  4. jboss修改内存

    在修改配置文件,在 <JBOSS_HOME> /bin/stadalone.conf中      找到并修改  如图

  5. 微信小程序拖动列表功能

    WXML部分 1 <view class="index"> 2 3 <!-- 数据展示区 --> 4 <scroll-view 5 class=&qu ...

  6. pytest-mark 参数化

    在类前或用例前用pytest.mark.parametrize ,可进行参数化 传参方式比较灵活,有很多种,下面是列出的几种方式,其他的可自行研究 @pytest.mark.parametrize(& ...

  7. Axios及其async await封装

    Axios(IE8+) 基于promise的http库可用于浏览器与node.js 1.特性 支持promise API 拦截请求和相应 转换请求数据和响应数据 取消请求 自动转换JSON数据 客户端 ...

  8. C. Tourist Problem 2021.3.29 晚vj拉题 cf 1600 纯数学题

    拉题链接  https://vjudge.net/contest/430219#overview 原题链接  https://codeforces.com/problemset/problem/340 ...

  9. Java8 新特性,打破你对接口的认知

    Java 8 之前,接口里面只能写抽象方法,不能写实现方法 Java 8 开始是可以有方法实现的,可以在接口中添加默认方法和静态方法 默认方法用 default 修饰,只能用在接口中,静态方法用 st ...

  10. 阿里云centos postgresql9.4源码安装 精简步骤、问题解答

    阿里云centos环境源码安装postgresql9.4 本文的安装步骤主要来源于http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.ht ...