참조: 모델링 시트 검증 규칙
모델링 시트 검증 규칙을 생성할 때 점 표기법 부울 표현식 및 열 코드를 사용합니다. 가독성을 높이기 위해 줄과 간격을 추가할 수 있습니다. #을 사용하여 코멘트를 포함할 수도 있습니다.
잘못된 표현식을 입력하면 문제를 해결하는 데 도움이 될 수 있는 오류 메시지가 표시됩니다.
표현식에서 올바른 데이터 유형의 열을 사용하는지 수동으로 확인해야 합니다. 다음 데이터 유형을 사용하여 이러한 함수를 지원합니다.
함수 | 지원되는 데이터 유형 |
|---|---|
day | 날짜 |
div | 숫자 또는 확인란 |
if | 로직 |
isblank | 모든 데이터 |
길이 | String |
month | 날짜 |
분기 | 날짜 |
하위 문자열 | String |
전환 | 날짜, 숫자 또는 문자열 |
종료일 | 날짜 |
toNumber | String |
year | 날짜 |
검증 규칙 예
규칙 | 표현식 | 유형 |
|---|---|---|
레이블은 4자 이상이어야 합니다. | length(ROW.Label) > 4 | True |
가격책정 예외에 값이 없는 경우 판매가 값이 구매 가격보다 크거나 같아야 합니다. | if (isBlank(ROW.pricing_exception), ROW.purchase_price, ROW.selling_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 < todate (2020, 12, 21) | True |
시작일은 CY 2023 이후여야 합니다. | year(ROW.StartDate) >= 2023 | True |
레이블 열에 입력된 모든 값이 필수 접두어 'required-prefix'로 시작해야 합니다. | if (isblank(ROW.Label),"required-prefix",substring(ROW.Label, 1, 15)) = "required-prefix" | True |
입사일이 3분기 또는 4분기인 경우 채용 예외를 입력해야 합니다. | 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" 및 ROW.per = "yr") | True |
이 값이 비어 있지 않은 경우 직원 수는 1보다 커야 합니다. | isblank(ROW.numEmployee) 또는 (not(isblank(ROW.numEmployee)) 및 ROW.numEmployee > 1) | True |
TAM은 수익보다 커야 합니다. | ROW.tam > ROW.Rev | True |
주당 시간은 20에서 40 사이여야 합니다. | ROW.HoursPerWeek >= 20 and ROW.HoursPerWeek <= 40 | True |
승인된 경우 Fieldmgrscore는 1보다 커야 합니다. | Row.Approval != "yes" or (ROW.Approval = "yes" amd ROW.fieldMgrScore >=1) | True |
모든 직원 ID(텍스트 열)는 200 미만의 숫자 값으로 시작해야 합니다. | tonumber (ROW.EmployeeID) <200 | True |
급여가 10% 인상된 경우 코멘트는 필수입니다. | (div(ROW.Input_Total_Base_Pay - ROW.Total_Base_Pay, ROW.Total_Base_Pay) <0.1) or not isblank(Row.Memo) | True |
경비 계정이 자동입력된 경우 요청자명 및 코스트센터 소유자도 입력해야 합니다. | isblank(ROW.ExpenseAccount) 또는 not(isblank(ROW.ExpenseAccount) 또는 isblank(ROW.NameOfRequestor) 또는 isblank(ROW.CostCenterOwner)) | True |
자산 분류 값은 IT 제품과 연결되어야 합니다. | Switch (ROW.AssetClass, "hardware", "it product", "software", "it product", "non-it product") = "it product" | True |
신규 경영진 채용을 계획할 때 코멘트는 필수입니다. | ROW.Position_Status="open" and ROW. Supervisory_Organization = "supervisory_executive_management_group" and isblank(ROW.Memo) | False |
TAM은 비워둘 수 없습니다. | isblank(ROW.tam) | False |