参考信息:模型化工作表验证规则
创建模型化工作表验证规则时,您可以使用行点记法布尔表达式和列代码。 您可以添加额外的行和间距,以提高可读性。 您还可以使用 # 来添加备注。
如果您输入无效表达式,系统会显示错误消息,或许可以帮助您解决问题。
您必须手动确保在表达式中使用的列具有正确的数据类型。 我们支持使用以下数据类型的这些函数:
函数 | 支持的数据类型 |
|---|---|
day | 日期 |
div | 数字或复选框 |
if | 逻辑 |
isblank | 所有数据 |
长度 | String |
month | 日期 |
季度 | 日期 |
子字符串 | String |
切换 | 日期、数字或字符串 |
toDate | 日期 |
toNumber | String |
year | 日期 |
验证规则示例
规则 | 表达式 | 类型 |
|---|---|---|
标签必须超过 4 个字符。 | length(ROW.Label) > 4 | True |
要求“销售价格”的值大于或等于“采购价格”,除非“定价异常”具有值。 | if (isBlank(ROW.Pricing_exception), ROW.purchase_price, ROW. Sale_price) >= ROW.purchase_price | True |
结束日期必须早于或等于开始日期,但前提是“结束日期”已填充。 | if (not(isblank(ROW.end_date)),ROW.end_date, ROW.start_date) >= ROW.start_date | True |
开始日期必须早于 2020 年 12 月 21 日。 | ROW.StartDate < 结束日期 (2020, 12, 21) | True |
开始日期必须早于 2023 日历年度。 | year(ROW.StartDate) >= 2023 | True |
要求“标签”列中的所有填充值都以必需的前缀“required-prefix”开头。 | if (isblank(ROW.Label),"required-prefix",substring(ROW.Label, 1, 15)) = "required-prefix" | True |
如果“雇用日期”在第三季度或第四季度,则需要填充“雇用例外”。 | not (isblank(if (quarter(ROW.hire_date) >= 3,ROW.hiring_exception,"exception_not_required"))) | True |
如果选择了变更请求,则“备注”不能为空。 | ROW.ChgRqst=0 或 (ROW.ChgRqst = 1 and not(isblank (ROW.comment))) | True |
如果“级别”为“QA”,则员工必须有年薪。 | ROW.LEVEL!="qa" 或 (ROW.LEVEL = "qa" and ROW.per = "yr") | True |
如果不为空,则员工数量必须大于 1。 | isblank(ROW.numEmployee) 或 (not(isblank(ROW.numEmployee)) and ROW.numEmployee > 1) | True |
TAM 必须大于“收入”。 | ROW.am > ROW.Rev | True |
“每周工时”必须介于 20 到 40 小时之间。 | ROW.HoursPerWeek >= 20 且 ROW.HoursPerWeek <= 40 | True |
如果“已批准”,则 Fieldmgrscore 必须大于 1。 | Row.Approval != "yes" or (ROW.Approval = "yes"amd ROW.fieldMgrScore >=1) | True |
所有员工编号(文本列)都必须以小于 200 的数值开头。 | tonumber (ROW.EmployeeID) <200 | True |
如果加薪 10%,则需要提供备注。 | (div(ROW.Input_Total_Base_Pay - ROW.Total_Base_Pay, ROW.Total_Base_Pay) <0.1) 或 not isblank(Row.Memo) | True |
如果已填充费用账户,则还必须填充“申请人姓名”和“成本中心所有者”。 | 是否为 isblank(ROW.ExpenseAccount)(isblank(ROW.ExpenseAccount)、isblank(ROW.NameOfRequestor) 或 isblank(ROW.Cost CenterOwner)) | True |
资产分类值必须与 IT 产品相关联。 | Switch (ROW.AssetClass, "硬件", "IT 产品", "软件", "IT 产品", "非 IT 产品") = "IT 产品" | True |
当我为雇用新的高管制定计划时,必须填写备注。 | ROW.Position_Status="open" and ROW.Supervisory_Organization = "主管人员管理组" and isblank(ROW.Memo) | False |
TAM 不能为空。 | isblank(ROW.am) | False |