변수 참조 구문이란?

분석, 대시보드, KPI 및 에이전트에서 변수를 참조할 수 있습니다. 변수 참조 방법은 수행 중인 작업에 따라 달라집니다.

대화상자에 필드가 제공되는 작업(예: 필터 정의의 변수 참조)의 경우 변수의 유형과 이름만 지정해야 합니다(전체 구문 지정 안함).

제목 뷰의 변수 참조와 같은 기타 작업의 경우 변수 구문을 지정합니다. 사용하는 구문은 표의 설명과 같이 변수 유형에 따라 달라집니다.

노트:

구문에서 "at" 기호(@) 뒤에 중괄호({)가 오지 않는 경우 "at" 기호로 처리됩니다.
변수 유형 구문

세션

@{biServer.variables['NQ_SESSION.variablename']}

여기서 variablename 은 세션 변수의 이름입니다(예: DISPLAYNAME).

사용할 수 있는 시스템 세션 변수 목록은 Oracle Business Intelligence Enterprise Edition용 메타데이터 저장소 생성자 설명서시스템 세션 변수 정보를 참조하십시오.

@{biServer.variables['NQ_SESSION.USER']}

저장소

@{biServer.variables.variablename}

또는

@{biServer.variables['variablename']}

여기서 variablename은 저장소 변수의 이름입니다(예: prime_begin).

@{biServer.variables.prime_begin}

또는

@{biServer.variables['prime_begin']}

프리젠테이션 또는 요청

@{variables.variablename}[format]{defaultvalue}

또는

@{scope.variables['variablename']}

설명:

  • variablename은 프리젠테이션 또는 요청 변수의 이름입니다(예: MyFavoriteRegion).

  • (선택사항) format은 변수의 데이터 유형에 종속된 형식 마스크입니다(예: #,##0, MM/DD/YY hh:mm:ss). 기본값에는 형식이 적용되지 않습니다.

  • (선택사항) defaultvaluevariablename이 참조하는 변수가 채워지지 않은 경우 사용할 값을 나타내는 상수 또는 변수 참조입니다.

  • scope는 변수의 식별자를 나타냅니다. 변수를 여러 레벨(분석, 대시보드 페이지 및 대시보드)에서 사용하며 특정 값에 액세스하려는 경우 범위를 지정해야 합니다. 범위를 지정하지 않으면 우선순위는 분석, 대시보드 페이지, 대시보드 순이 됩니다.

참고: 다중 값을 가질 수 있는 프리젠테이션 변수에 대시보드 프롬프트를 사용할 때 구문은 열 유형에 따라 달라집니다. 다중 값은 콤마로 구분된 값으로 형식이 지정되므로 콤마를 추가하기 전에 각 값에 모든 형식 절이 적용됩니다.

@{variables.MyFavoriteRegion}{EASTERN REGION}

또는

@{MyFavoriteRegion}

또는

@{dashboard.variables['MyFavoriteRegion']}

또는

(@{myNumVar}[#,##0]{1000})

또는

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

또는

(@{myTextVar}{A, B, C})

전역

@{global.variables.variablename}

여기서 variablename은 전역 변수의 이름입니다(예: gv_region). 전역 변수를 참조할 때는 예에 표시된 대로 전체 이름을 사용해야 합니다.

주: 전역 변수의 이름 지정 규칙은 JavaScript에 대한 EMCA 스크립팅 언어 사양을 따라야 합니다. 이름은 200 자를 초과하지 않아야 하며, 공백, 예약어 및 특수 문자를 포함하지 않아야 합니다. JavaScripting 언어 요구 사항에 익숙하지 않은 경우 타사 참조 문서를 참조하십시오.

@{global.variables.gv_date_n_time}

표현식에서 변수를 참조할 수도 있습니다. 표현식의 변수 참조 지침은 다음 표에 설명되어 있습니다.

변수 유형 지침

세션

  • 세션 변수를 VALUEOF 함수의 인수로 포함합니다.

  • 변수 이름을 큰 따옴표로 묶습니다.

  • 세션 변수 앞에 NQ_SESSION과 마침표를 추가합니다.

  • NQ_SESSION 부분과 세션 변수 이름을 괄호로 묶습니다.

"Market"."Region"=VALUEOF(NQ_SESSION."SalesRegion")

저장소

  • 저장소 변수를 VALUEOF 함수의 인수로 포함합니다.

  • 변수 이름을 큰 따옴표로 묶습니다.

  • 정적 저장소 변수를 이름으로 참조합니다.

  • 동적 저장소 변수를 전체 이름으로 참조합니다.

    동적 저장소 변수를 사용하는 경우 초기화 블록 및 저장소 변수의 이름을 큰 따옴표(")로 묶고 마침표로 구분하고, 괄호 안에 포함해야 합니다. 예를 들어, Region Security라는 초기화 블록에 포함된 동적 저장소 변수 REGION의 값을 사용하려면 다음 구문을 사용합니다.

    VALUEOF("Region Security"."REGION")

    자세한 내용은 Oracle Business Intelligence Enterprise Edition용 메타데이터 저장소 생성자 설명서의 "저장소 변수 정보"를 참조하십시오.

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END

프리젠테이션

  • 다음 구문을 사용합니다.

    @{variablename}{defaultvalue}
    

    여기서 variablename은 프리젠테이션 변수의 이름이고 defaultvalue(선택사항)는 variablename이 참조하는 변수가 채워지지 않은 경우 사용할 값을 나타내는 상수 또는 변수 참조입니다.

  • 변수를 문자열로 typecast(즉, 변환)하려면 전체 구문을 작은 따옴표로 묶습니다. 예를 들면 다음과 같습니다.

    '@{user.displayName}'
    

주: @ 기호 뒤에 중괄호({)가 오지 않는 경우 @ 기호로 처리됩니다.

다중 값을 가질 수 있는 프리젠테이션 변수를 사용할 때 구문은 열 유형에 따라 달라집니다.

적합한 SQL 문을 생성하려면 지정된 열 유형에 대해 다음 SQL 구문을 사용합니다.

  • 텍스트 — (@{variablename}['@']{'defaultvalue'})

  • 숫자 — (@{variablename}{defaultvalue})

  • 날짜-시간 — (@{variablename}{timestamp 'defaultvalue'})

  • 날짜(날짜만) — (@{variablename}{date 'defaultvalue'})

  • 시간(시간만) — (@{variablename}{time 'defaultvalue'})

"Market"."Region"=@{MyFavoriteRegion}{EASTERN REGION}

또는

"Products"."P4 Brand"=(@{myTextVar}['@']{BizTech})

또는

"Products"."PO Product Number"=(@{myNumVar}{1000})

또는

"Sales Person"."E7 Hire Date"=(@{myDateTimeVar}{timestamp '2013-05-16 00:00:01'})

또는

"Time"."Total Fiscal Time"=(@{myDateVar}{date '2013-05-16'})

또는

"Time"."Time Right Now"=(@{myTimeVar}{time '00:00:01'})

SQL을 사용할 때 지정된 데이터 유형의 값이 여러 개인 경우 다음과 같은 결과가 나타납니다.

  • 열 유형이 텍스트이고 variablename이 val1, val2 및 val3을 전달할 경우 결과는 ('val1', 'val2', 'val3')입니다.

또는

  • 열 유형이 날짜이고 variablename이 2013-08-09 및 2013-08-10을 전달할 경우 결과는 (date '2013-08-09', date '2013-08-10')입니다.

또는

  • 열 유형이 날짜-시간이고 variablename이 2013-08-09 00:00:00 및 2013-08-10 00:00:00을 전달할 경우 결과는 (timestamp '2013-08-09 00:00:00', timestamp '2013-08-10 00:00:00')입니다.

변수를 참조할 수 있는 특정 영역은 변수를 참조할 수 있는 위치를 참조하십시오.