목차

Search

  1. 서문
  2. 변환 언어
  3. 상수
  4. 연산자
  5. 변수
  6. 날짜
  7. 함수
  8. 사용자 지정 함수 작성
  9. 사용자 지정 함수 API 참조

변환 언어 참조

변환 언어 참조

SETVARIABLE

SETVARIABLE

매핑 변수의 현재 값이 사용자가 지정한 값으로 설정됩니다. 지정한 값이 반환됩니다. SETVARIABLE 함수는 행이 삽입 또는 업데이트하도록 표시된 경우에만 실행됩니다. SETVARIABLE은 기타 모든 행 유형을 무시하며, 현재 값은 변경되지 않고 유지됩니다.
세션이 성공적으로 완료되면
PowerCenter 통합 서비스
가 변수의 최종 현재 값을 변수의 시작 값과 비교합니다. 그런 다음 변수의 집계 유형에 따라 최종 현재 값을 리포지토리에 저장합니다. 재정의하지 않은 경우 다음에 이 세션을 실행하면 저장된 값이 변수의 초기 값으로 사용됩니다.
SETVARIABLE 함수는 파이프라인의 각 매핑 변수에 대해 한 번씩만 사용해야 합니다.
PowerCenter 통합 서비스
는 변수 함수를 매핑에서 발견되는 대로 처리합니다.
PowerCenter 통합 서비스
가 매핑에서 변수 함수를 발견하는 순서는 세션 실행에 따라 다를 수 있습니다. 따라서 매핑에서 동일한 변수 함수를 여러 번 사용할 경우 일관되지 않은 결과가 생성될 수 있습니다.
SETVARIABLE은 다음 변환에 사용됩니다.
  • 필터
  • 라우터
  • 업데이트 전략
다음 조건 중 하나가 참일 경우
PowerCenter 통합 서비스
가 매핑 변수의 최종 값을 리포지토리에 저장하지 않습니다.
  • 세션 완료가 실패했습니다.
  • 세션이 테스트 로드를 수행하도록 구성되었습니다.
  • 세션이 디버그 세션입니다.
  • 세션이 디버그 모드에서 실행되고 세션 출력을 무시하도록 구성되었습니다.

구문

SETVARIABLE( $$
Variable
,
value
)
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
$$
변수
필수
설정할 매핑 변수의 이름입니다. 최대/최소 집계 유형의 매핑 변수에 사용합니다.
필수
변수의 현재 값으로 설정할 값입니다. 변수의 데이터 유형과 호환되는 데이터 유형으로 평가되는 모든 유효한 변환 식을 입력할 수 있습니다.

반환 값

변수의 현재 값입니다.
이 NULL인 경우
PowerCenter 통합 서비스
$$Variable
의 현재 값을 반환합니다.

다음 식은 매핑 변수 $$Time을
PowerCenter 통합 서비스
가 행을 평가할 때의 시스템 날짜로 설정하고 해당 시스템 날짜를 SET_$$TIME 포트에 반환합니다.
SETVARIABLE ($$Time, SYSDATE)
TRANSACTION
TOTAL
SET_$$TIME
0100002
534.23
10/10/2000 01:34:33
0100003
699.01
10/10/2000 01:34:34
0100004
97.50
10/10/2000 01:34:35
0100005
116.43
10/10/2000 01:34:36
0100006
323.95
10/10/2000 01:34:37
세션이 종료되면
PowerCenter 통합 서비스
가 10/10/2000 01:34:37을 $$Time의 마지막으로 평가된 값으로 리포지토리에 저장합니다. 다음에 세션을 실행하면
PowerCenter 통합 서비스
가 $$Time에 대한 모든 참조를 10/10/2000 01:34:37로 평가합니다.
다음 식은 매핑 변수 $$Timestamp를 행에 연결된 타임스탬프로 설정하고 해당 타임스탬프를 SET_$$TIMESTAMP 포트에 반환합니다.
SETVARIABLE ($$Time, TIMESTAMP)
TRANSACTION
TIMESTAMP
TOTAL
SET_$$TIMESTAMP
0100002
10/01/2000 12:01:01
534.23
10/01/2000 12:01:01
0100003
10/01/2000 12:10:22
699.01
10/01/2000 12:10:22
0100004
10/01/2000 12:16:45
97.50
10/01/2000 12:16:45
0100005
10/01/2000 12:23:10
116.43
10/01/2000 12:23:10
0100006
10/01/2000 12:40:31
323.95
10/01/2000 12:40:31
세션이 종료되면
PowerCenter 통합 서비스
가 10/01/2000 12:40:31을 $$Timestamp의 마지막으로 평가된 값으로 리포지토리에 저장합니다.
다음에 세션을 실행하면
PowerCenter 통합 서비스
가 $$Timestamp에 대한 초기 값을 10/01/2000 12:40:31로 평가합니다.