표현식 및 함수

표현식을 사용하여 [값/표현식] 필드에서 다음을 수행할 수 있습니다.

  • 간단한 방정식을 실행합니다.

  • CURVAL 매개변수를 사용하여 논리 계정 연산 값을 지정합니다. CURVAL 매개변수는 논리 함수 내에서 사용할 수 있는 것처럼 표현식 내에서 사용할 수 있습니다. 단, 표현식에서 사용하는 경우 CURVAL을 파이프로 묶어야 합니다. 예를 들어 CURVAL 표현식은 |계정| 표기법을 사용한 계정 지정과 엔티티, 범주, 기간 및 계정의 POV 세부정보를 사용한 값 지정을 포함합니다.

함수에서 if/else와 함께 단순 논리를 Jython 구문으로 사용할 수 있습니다. Jython 명령은 함수에 사용할 수 있으며 표현식보다 더 복잡할 수 있습니다.

Exp

표현식 연산자는 [값/표현식] 필드에 정의된 사용자정의 논리 표현식을 실행하는 데 사용됩니다. 변수 또는 If 문을 사용할 수 없는 논리 표현식은 논리 함수보다 단순합니다. |CURVAL|을 제외하고 표현식에는 기본 제공 매개변수가 없습니다. 표현식의 경우 RESULT에 값을 지정할 필요가 없습니다.

표현식은 논리 함수보다 빨리 실행됩니다. Data Management 룩업 함수를 논리 함수 내에서 사용하는 것처럼 표현식 내에서 사용할 수 있습니다. 사용자정의 표현식을 작성하려면 [값/표현식] 필드를 두 번 눌러 표현식 편집기를 엽니다.

|CURVAL| + |810| + |238|

위의 함수는 Data Management 룩업 함수를 사용하여 두 개의 소스 계정을 논리 계정의 값에 추가합니다. CURVAL 매개변수는 논리 함수 내에서 사용할 수 있는 것처럼 표현식 내에서 사용할 수 있습니다. 단, 표현식에서 사용하는 경우 CURVAL을 파이프로 묶어야 합니다.

(|CURVAL| + |000,10,09/30/01,810|) * 100

위의 함수는 Data Management 룩업 함수를 사용하여 소스 계정(810) 및 지정된 센터의 소스 계정, Data Management 범주, Data Management 기간을 논리 계정의 값에 추가한 다음 결과 합계에 100을 곱합니다.

함수

함수 연산자는 [값/표현식] 필드에 정의된 사용자정의 논리 함수를 실행하는 데 사용됩니다.

함수를 작성하려면 [논리 항목] 라인의 [연산자] 드롭다운 목록에서 [함수]를 선택한 다음 편집 아이콘을 눌러 편집 창을 엽니다. 논리 함수는 대체로 조건부 매핑 및 여러 소스 계정과 관련된 다른 복합 작업에 사용됩니다. 논리 함수를 통해 변수, if/elif/else 문, 숫자 함수 및 기타 Jython 구성자를 비롯한 Jython 명령을 사용할 수 있습니다.

논리 함수를 통해 사전 정의된 함수 매개변수를 사용할 수 있을 뿐 아니라 새로 생성된 논리 계정에 대해 값이 업데이트될 수 있도록 사용자가 RESULT 변수에 값을 지정해야 합니다. 다음 함수 매개변수를 논리 함수에 사용할 수 있으며 "|" 표기법은 사용할 필요가 없습니다.

표 3-22 함수 연산자 및 설명

함수 연산자 설명
CURVAL 논리 계정 작업의 소스 값
StrLocation 활성 위치 이름
StrCenter 논리 계정 엔티티
StrCatKey 이름이 아니라 활성 범주 키입니다. 사용자가 이 매개변수를 사용하려면 데이터베이스에서 범주 키를 룩업해야 합니다.
StrPerKey 활성 기간
엔티티, 범주, 기간, 계정| 논리 함수에 룩업 표기법을 사용할 수도 있습니다. 이는 논리 표현식에 제공된 것과 동일한 표기법입니다.
건너뛰기 키워드 RESULT에 "Skip"을 지정하면 논리 계정이 생성되지 않습니다.

함수 매개변수는 대문자, 소문자 또는 대소문자 혼합 문자로 정의할 수 있습니다. 그러나 키워드 RESULT는 대문자여야 합니다.

함수 반환 값 지정

논리 함수의 결과를 키워드 RESULT에 지정해야 합니다. 반환 값이 RESULT 키워드에 지정되지 않은 경우 논리 엔진에서 자동으로 결과 값을 0으로 설정합니다. 이 경우 계산을 건너뛰며 논리 계정이 생성되지 않습니다.

다음 함수는 논리 계정 계산에서 0보다 큰 값이 반환되는 경우 CURVAL 매개변수를 사용하여 논리 계정 계산 결과를 논리 계정(RESULT)에 지정합니다. 첫번째 조건이 충족되지 않으면 키워드 "Skip" 때문에 논리 계정이 생성되지 않습니다.

if CURVAL > 0:
   RESULT = CURVAL
else:
    RESULT = "Skip"
         

주:

논리 함수에는 Jython 표기법 및 들여쓰기를 사용해야 합니다.

다음 함수는 활성 Data Management 범주 키가 "10"인 경우에만 논리 계정 계산 결과를 논리 계정에 지정합니다.

if StrCatKey == "10":
    RESULT = CURVAL
else:
    RESULT="Skip"
         

이 함수는 기준 계정 엔티티가 "000"인 경우에만 논리 계정 계산 결과를 논리 계정에 지정합니다.

if StrCenter == "000":
    RESULT = CURVAL * 100
else:
    RESULT="Skip"
         

이 함수는 현재 Data Management 기간이 "Dec 2013"인 경우 Data Management 룩업 함수를 사용하여 소스 계정(810)을 논리 계정의 값에 추가합니다.

if StrPerKey == "12/31/2013":
    RESULT = CURVAL + |810|
else:
    RESULT="Skip"
         

이 함수는 활성 위치가 "Texas"인 경우 Data Management 룩업 함수를 사용하여 다른 엔티티, Data Management 범주 및 Data Management 기간의 또 다른 소스 계정을 논리 계정의 값에 추가합니다.

If StrLocation == "Texas":
    RESULT = CURVAL + |000,10,09/30/13,810|
else:
    RESULT="Skip"