데이터 소스를 더 유연하게 만들려면 데이터 소스가 변수를 사용할 수 있도록 질의에 런타임 매개변수를 구현할 수 있습니다.
이들은 Essbase에 정의된 치환 변수, Smart View 사용자가 외부 데이터로 드릴스루할 때 그리드 컨텍스트에 의해 정의된 런타임 매개변수, 또는 외부 소스 시스템에 작성된 사용자 정의 함수일 수 있습니다.
Essbase 데이터 소스에서 변수를 사용하려는 경우 먼저 다음을 수행해야 합니다.
데이터 소스 질의에 변수 구문을 포함합니다. 예를 들어, 데이터 소스 질의 구문에 ?
를 포함해야 합니다. 여기서 ?
는 런타임에 정의할 변수의 위치 표시자입니다.
다음 중 하나를 수행하십시오.
데이터 소스를 정의하고 해당 매개변수를 구현하려면 애플리케이션 관리자 이상이어야 합니다.
Essbase 데이터 소스에서 변수를 사용으로 설정하면 유지 관리할 데이터 소스가 줄어서 작업이 간소화됩니다. 데이터 소스에 변수를 구현하면 사용자가 Essbase 큐브와 연계된 데이터 소스에 액세스할 때마다 적용될 런타임 질의 컨텍스트를 지정할 수 있습니다.
예를 들어, 다음 사용 사례를 가정합니다.
데이터베이스 관리자는 매월 큐브로 데이터를 로드하는 반복적인 데이터 로드 작업을 감독합니다. 이제 데이터베이스 관리자는 각 월의 로드 규칙을 유지 관리하는 대신, 치환 변수를 사용하여 현재 월의 데이터를 로드할 수 있습니다.
애플리케이션 관리자는 다양한 비즈니스 사용 사례에 대한 드릴스루 보고서 정의를 유지 관리합니다. 애플리케이션 관리자는 Smart View 사용자가 드릴스루 작업에서 가져오는 기본 데이터 소스에 변수를 구현합니다. 그 결과, 애플리케이션 관리자가 유지 관리하고 디버그할 드릴스루 보고서 정의가 줄어듭니다.
Essbase가 큐브 외부에 저장된 데이터로 작업할 때 생성한 질의에서 변수를 사용으로 설정하려면 데이터 소스에서 기본 매개변수를 설정합니다.
기본 매개변수를 설정하려면 다음과 같이 하십시오.
외부 데이터 소스에 대한 접속을 얻거나 생성합니다(예: Oracle Database 접속 생성).
Essbase 웹 인터페이스의 소스 페이지에 이미 있는 경우 글로벌 접속을 사용할 수 있습니다. 또는 애플리케이션 레벨 접속을 생성할 수 있습니다.
Oracle Database 액세스에 사용할 접속을 통해 데이터 소스를 생성합니다.
모든 애플리케이션에 사용되어야 하는 경우 글로벌로 데이터 소스를 정의하고, 아니면 애플리케이션 레벨에서 정의할 수 있습니다.
글로벌 데이터 소스를 생성하려면 서비스 관리자여야 합니다. 소스를 누르고, 사용자 이름 아래의 데이터 소스 탭을 누르고, 데이터 소스 생성을 누릅니다.
또는 애플리케이션 레벨 데이터 소스를 생성하려면 애플리케이션 관리자, 또는 지정된 애플리케이션에 대한 애플리케이션 관리 권한이 있는 고급 사용자여야 합니다. 애플리케이션 탭에서 애플리케이션 이름을 누릅니다. 그런 다음 소스를 누르고, 사용자 이름 아래의 데이터 소스 탭을 누르고, 데이터 소스 생성을 누릅니다.
일반 사항 단계에서 접속에 대해 생성한 Oracle Database 접속을 선택합니다.
이름에 데이터 소스 이름을 지정합니다.
질의에 질의를 제공합니다(이 예제는 SQL 사용). 매개변수화된 질의를 만들려면 소스의 관계형 열을 위치 표시자에 매핑하는 필터 조건(WHERE 절)을 포함해야 합니다. 질의 구문에서 위치 표시자 ?를 사용하여 변수의 위치를 나타냅니다. 위치 표시자는 후속 단계에서 전달할 매개변수를 위한 것입니다.
select * from SB_DT where DIMENSION_YEAR=?
예를 들어, 관계형 데이터베이스에 SB_DT라는 테이블이 있다고 가정해 보십시오. 테이블에는 월 값이 포함된 DIMENSION_YEAR 열이 있습니다.
DIMENSION_YEAR 열에서 월 값 선택을 위해 변수를 사용하려면 다음 필터 구문을 질의에 적용합니다: where DIMENSION_YEAR=?
다음을 누릅니다.
열 단계에서 Essbase가 관계형 소스 데이터의 각 열과 연계해야 하는 적절한 데이터 유형을 적용합니다.
예를 들어, 숫자 열을 Double 유형으로 설정하고 영숫자 열은 String 유형으로 둡니다.
다음을 누릅니다.
[매개변수] 단계에서 Param1이 생성됩니다. 이 매개변수는 [일반 사항] 단계에서 질의에 ?를 사용했기 때문에 존재합니다.
변수 사용을 선택 해제된 상태로 두고 값 아래의 텍스트 필드를 두 번 누르고 런타임 매개변수의 기본값을 입력합니다. 이 기본값의 목적은 런타임 시 매개변수에 부적합한 컨텍스트가 있는 경우 Essbase가 폴백으로 사용하기 위한 것입니다. 드릴스루 보고서 정의의 일부로 런타임 매개변수를 사용하려는 경우 이 단계가 중요합니다.
Param1을 사용 사례에 의미 있는 이름으로 바꿀 수도 있습니다. 예를 들어, param_G_month로 이름을 바꾸어 매개변수가 현재 월에 글로벌 변수를 사용함을 나타내거나, param_<appName>_month로 이름을 바꾸어 매개변수가 현재 월에 애플리케이션 레벨 변수를 사용함을 나타낼 수 있습니다. 매개변수 이름을 사용자정의하면 Essbase 서버 로그 파일을 사용하여 매개변수를 디버깅할 때 유용할 수 있습니다.
치환 변수를 참조하도록 매개변수를 사용자정의하려면 기본값을 제공할 필요가 없습니다. 이 항목 대신 데이터 소스에서 치환 변수 사용을(를) 참조하십시오.
다음을 누릅니다.
미리보기에서 기본 매개변수가 질의에 적용된 것을 알 수 있습니다. 그 결과, DIMENSION_YEAR 열 값이 Jan인 외부 소스 레코드로만 미리보기가 채워집니다.
미리보기에는 기본 매개변수가 적용된 값만 표시되었지만, 나중에 드릴스루 보고서 정의에 대한 런타임 매개변수를 구현할 때 미리보기에 표시된 것보다 더 많은 외부 데이터에 액세스할 수 있습니다.
생성을 눌러 외부 소스 데이터의 이 질의를 기반으로 데이터 소스를 생성합니다. 런타임 매개변수 구현을 위해 데이터 소스가 사용으로 설정됩니다.
다음 워크플로우는 Essbase에 정의된 치환 변수를 사용하여 외부 소스 데이터의 질의에서 Essbase 데이터 소스를 생성하는 방법을 보여줍니다. 치환 변수를 사용하면 소스 데이터에서 가져오는 질의를 설계하는 방법이 더 유연해집니다.
이 예제에서는 Essbase의 치환 변수를 사용하여 현재 월을 선언합니다. 현재 월의 데이터를 가져오기 위해 매월 데이터 소스를 업데이트하는 대신, 데이터 소스를 그대로 두고 정의한 치환 변수만 업데이트할 수 있습니다.
글로벌 또는 애플리케이션 레벨 치환 변수를 생성합니다.
외부 데이터 소스에 대한 접속을 얻거나 생성합니다(예: Oracle Database 접속 생성).
Essbase 웹 인터페이스의 소스 페이지에 이미 있는 경우 글로벌 접속을 사용할 수 있습니다. 또는 애플리케이션 레벨 접속을 생성할 수 있습니다.
Oracle Database 액세스에 사용할 접속을 통해 데이터 소스를 생성합니다.
모든 애플리케이션에 사용되어야 하는 경우 글로벌로 데이터 소스를 정의하고, 아니면 애플리케이션 레벨에서 정의할 수 있습니다.
일반 사항 단계에서 접속에 대해 생성한 Oracle Database 접속을 선택합니다.
이름에 데이터 소스 이름을 지정합니다.
질의에 질의를 제공합니다(이 예제는 SQL 사용). 매개변수화된 질의를 만들려면 소스의 관계형 열을 위치 표시자에 매핑하는 필터 조건(WHERE 절)을 포함해야 합니다. 질의 구문에서 위치 표시자 ?
를 사용하여 변수의 위치를 나타냅니다. 위치 표시자는 후속 단계에서 전달할 매개변수를 위한 것입니다.
select * from SB_DT where DIMENSION_YEAR=?
예를 들어, 관계형 데이터베이스에 SB_DT라는 테이블이 있다고 가정해 보십시오. 테이블에는 월 값이 포함된 DIMENSION_YEAR 열이 있습니다.
DIMENSION_YEAR 열에서 월 값 선택을 위해 변수를 사용하려면 다음 필터 구문을 질의에 적용합니다: where DIMENSION_YEAR=?
다음을 누릅니다.
열 단계에서 Essbase가 관계형 소스 데이터의 각 열과 연계해야 하는 적절한 데이터 유형을 적용합니다.
예를 들어, 숫자 열을 Double 유형으로 설정하고 영숫자 열은 String 유형으로 둡니다.
다음을 누릅니다.
[매개변수] 단계에서 Param1이 생성됩니다. 이 매개변수는 [일반 사항] 단계에서 질의에 ?
를 사용했기 때문에 존재합니다. 치환 변수를 참조하도록 Param1을 사용자정의하려면 변수 사용을 누르고 값 드롭다운 목록에서 치환 변수를 선택합니다.
애플리케이션 내에 데이터 소스를 생성하는 경우 글로벌 및 애플리케이션 레벨 치환 변수를 모두 선택할 수 있습니다. 애플리케이션 레벨 변수에는 애플리케이션 이름이 접두어로 붙습니다. 글로벌 데이터 소스를 생성하는 경우 글로벌 치환 변수만 선택할 수 있습니다.
Param1을 사용 사례에 의미 있는 이름으로 바꿀 수 있습니다. 예를 들어, param_G_month로 이름을 바꾸어 매개변수가 현재 월에 글로벌 변수를 사용함을 나타내거나, param_<appName>_month로 이름을 바꾸어 매개변수가 현재 월에 애플리케이션 레벨 변수를 사용함을 나타낼 수 있습니다. 매개변수 이름을 사용자정의하면 Essbase 서버 로그 파일을 사용하여 매개변수를 디버깅할 때 유용할 수 있습니다.
다음을 누릅니다.
미리보기에서 치환 변수가 질의에 적용된 것을 알 수 있습니다. 그 결과, DIMENSION_YEAR 열 값이 Aug인 외부 소스 레코드로만 미리보기가 채워집니다.
생성을 눌러 외부 소스 데이터의 이 질의를 기반으로 데이터 소스를 생성합니다.