수식 소개

Aspose.Tasks for .NET API는 Microsoft Project (MPP) 파일에서 수식을 읽고 쓸 수 있습니다.
수식은 기존 프로젝트 데이터를 기반으로 작업, 리소스 및 프로젝트 필드의 사용자 정의 값을 계산하는 데 사용됩니다.

해당 수식 속성은 ExtendedAttributeDefinition 클래스는 수식을 할당하고 읽기 위한 인터페이스를 제공합니다.
만약 유효하지 않은 수식 문자열 가 할당되면, FormatException 예외가 발생합니다.

이 페이지에서는 수식에 사용되는 문법, 지원되는 연산자와 함수 및 예제를 소개합니다.

수식 문법

Microsoft Project는 다음과 같은 수식 문법을 사용하며 Aspose.Tasks도 이를 따릅니다:

1    Formula -> Formula Binary_Op Primary | Primary
2    Primary -> (Formula) | Unary_Op Primary | Function | ValidFieldName | ValidDoubleValue | "StringLiteral"
3    Function -> ValidFunctionName(Args)
4    Args -> Args Delimiter Formula | Formula | |
5    Delimiter -> , | ;   // Note: Delimiter is culture-specific in XML format ( , or ; ) and persistent in MPP ( , )
6    Binary_Op -> + | - | * | / | & | MOD | ^ | = | <> | < | > | AND | OR
7    Unary_Op -> NOT | + | -

지원 요소

1. 필드

유효한 Microsoft Project 필드 이름(예: [Duration], [Actual Duration], [Standard Rate]).

2. 연산자

수식은 다음을 지원합니다:

3. 함수

대부분의 표준 Microsoft Project 함수가 지원됩니다. 예를 들면:

예제

예제 1: 간단한 산술

1var attr = ExtendedAttributeDefinition.CreateTaskDefinition(
2    CustomFieldType.Number,
3    ExtendedAttributeTask.Number1,
4    "WorkPerDay");
5
6attr.Formula = "[Work] / [Duration]";

이 수식은 작업의 하루 평균 작업량을 계산합니다.

예제 2: 조건식

1var attr = ExtendedAttributeDefinition.CreateTaskDefinition(
2    CustomFieldType.Text,
3    ExtendedAttributeTask.Text1,
4    "TaskStatus");
5
6attr.Formula = "IIf([% Complete] = 100, \"Done\", \"In Progress\")";

이 수식은 사용자 정의 필드 값을 “완료” 로 설정합니다(작업이 완료된 경우), 그렇지 않으면 “진행 중”.

오류 처리

참고

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.