概念:分步式计算
分步式计算会返回单个数值。您可以在涉及复杂逻辑(例如嵌套的计算流)的情景中使用它们。
运营
在每个步骤内,您可以指定Workday按顺序执行的任意数量的操作。对于每项操作,您都可以指定提供值的方式。示例:使用计算值或数值。
运算 | 描述 |
|---|---|
添加 | 将您指定的值添加到先前的值。 |
除 | 用先前的值除以您指定的值。 |
退出 | 通过以下任一方式退出计算:
|
最大值 | 返回所有指定值中的最大值。当您从 “类型” 提示中选择“计算” 时,您可以将Workday配置为在比较中忽略先前的值。为此,请选中“排除先前值” 复选框。 |
最小值 | 返回所有指定值中的最小值。当您从 “类型” 提示中选择“计算” 时,您可以将Workday配置为在比较中忽略先前的值。为此,请选中“排除先前值” 复选框。 |
乘 | 将先前的值乘以您指定的值。 |
Power | 对上一行中的 值 应用幂运算符。 |
舍入 | 使您能够指定舍入期权。 |
集合 | 通常在计算开始时初始化一个起始值。如果您未设置初始值, Workday会从值 0 开始计算。您可以使用 Set 运算重新初始化先前的值。 |
减 | 从先前值中减去您指定的值。 |
- 示例:集合
- 将初始值设置为 100。运算类型值集合数值100
- 示例:乘
- 将先前的值乘以每月订阅交通信息的值(存储在高级查询表中)。运算类型值 - 查询表值 - 列值 - 期间日期标志乘查询表交通订阅津贴每月基于付款日期
- 示例:幂
- 对于“Set of 2”,对前面的值添加“幂”运算符。运算类型值集合数值2Power数值0.5计算将返回 1.4142。
- 示例:最小值
- 返回先前值、员工年龄与 15 岁之间的最小值。运算类型值最小值计算15员工年龄
- 示例:退出
- 退出计算并结果前一值。运算类型退出先前值
- 示例:添加
- 添加截至期间结束时的员工年龄。运算类型值 - 开始日期类型值 - 开始日期计算值 - 结束日期类型“值 - 结束日期”计算返回的值添加日期差值计算员工:雇用日期计算期间:期间结束日期年
条件
您可以指定一个条件来控制Workday是否应解析某个步骤。
您可以通过从条件的相关操作菜单中选择“条件”>“复制”来复制分步式条件。
- 示例:先前值 <= 1500
- 您希望仅当从上一薪级继承的先前值小于或等于 1500 时,才解析此薪级。运算对象 1运算符运算对象 2先前值小于或等于计算结果> 1,500
- 示例:员工雇用日期不早于期间开始日期
- 您希望仅当员工雇用日期不早于期间开始日期时,才解析此步骤。运算对象 1运算符运算对象 2计算>员工雇用日期大于或等于“计算”>“期间:期间开始日期”
- 员工任职年数 > 20(期间结束时)并且员工雇用日期所在月份 = 期间结束月份
- 您希望仅当员工的以下两个方面都解析此步骤:
- 到期间结束日期,开始日期晚于 20 年。
- 雇用日期所属的月份是期间结束日期的同月。
逻辑运算符=AND运算对象 1运算符运算对象 2类型:日期差值开始日期类型:计算开始日期计算:员工:雇用日期结束日期类型:计算结束日期计算:期间:期间结束日期返回的值:年大于类型:数值值:20类型:日期提取日期计算:员工:雇用日期返回的值:月等于类型:日期提取日期计算:期间:期间结束日期返回的值:月
- 条件组
- 当存在多行条件时,您可以指定条件的顺序。
- 示例:基于带薪短期休假余额的加班时数
- 您希望为个人短期休假(PTO) 余额最少的员工提供额外的时数。带薪短期休假余额越大,员工获得的加班工时就越少。您设置了以下分步式计算:步骤条件组条件运算类型值1集合计算当前带薪短期休假余额(小时)添加计算带薪短期休假(基于职位)计划舍入舍入定义向下舍入至最近的 1 的倍数2.1先前值条件组先前值 < = 100添加数值252.2先前值条件组先前值 < = 200添加数值152.3先前值条件组先前值 < = 300添加数值102.4先前值条件组先前值 > 300添加数值5
- Workday会根据步骤顺序评估步骤。少于 100 小时的员工将获得 25 小时的额外工时。如果员工超过 300 小时,则可额外获得 5 小时。