쿼리 생성은 사용자정의 보고서 생성의 첫 번째 단계입니다. 쿼리를 생성하는 방법은 다음 세 가지입니다.
쿼리를 생성하려면 다음을 수행합니다.
유형에서 다음 유형 중 하나를 선택합니다.
매개변수 쿼리
매개변수 쿼리 유형은 이 매개변수의 값에 지정할 수 있는 옵션 목록을 표시하는 데 사용됩니다. 매개변수 쿼리를 사용하면 보고서 쿼리에 대한 매개변수 값을 채울 때 사용되는 옵션 목록을 표시할 수 있습니다. 여기서 옵션 목록은 이미 정의된 단순 속성이 아니라 정의해야 하는 복합 쿼리입니다.
보고서의 매개변수 쿼리를 선택하는 데 관한 예제는 보고서에 매개변수 쿼리 추가를 참조하십시오.
보고서 쿼리
보고서에 포함할 레코드를 선택합니다. 디자인 중인 보고서에 매개변수가 포함되는 경우 레코드를 표시하지 않거나 모든 레코드를 표시하도록 보고서를 디자인할 수 있습니다.
조정 준수의 경우, 보안 필터를 적용하여 사용자의 역할 및 지정된 조정에 따라 볼 수 있는 권한이 있는 데이터만 사용자에게 표시되도록 할 수 있습니다. 보고서 쿼리에 보안 필터를 적용하려면 쿼리 WHERE CLAUSE 문의 끝에 다음 구문을 추가합니다.
조정 준수: $ARM_SECURITY_CLAUSE$
WHERE $ARM_SECURITY_CLAUSE$ AND ReconciliationEO
쿼리에서 $ARM_SECURITY_CLAUSE$
를 사용하면 ARM_RECONCILIATIONS
의 별칭은 ReconciliationEO
로 지정되어야 합니다.
주:
Account Reconciliation에 포함된 사전 정의된 내 쿼리에 보안 필터가 적용되어 있으므로 자체 쿼리를 작성할 때 이 쿼리를 예로 사용할 수 있습니다.
쿼리 예는 아래 조정 준수 예를 참조하십시오.
쿼리 생성을 클릭하여 보고서 쿼리를 생성합니다. 자세한 내용은 아래의 쿼리 생성을 참조하십시오.
필요한 세부정보를 제공하고 쿼리 생성 대화상자를 닫으면 생성된 보고서 쿼리가 쿼리에 표시됩니다.
주:
보고서에 매개변수가 필요한 경우 보고서 쿼리 SQL에 매개변수를 추가합니다. 매개변수 이름은 아무 이름이나 지정할 수 있지만, 물결표(~)로 묶어야 합니다. 아래 섹션의 예를 참조하십시오.다음 작업 중 하나를 수행합니다.
검증을 눌러 쿼리에 오류가 있는지 테스트합니다.
검증 및 계획 설명을 눌러 쿼리에 오류가 있는지 테스트하고 이 쿼리를 실행하는 데 사용할 계획을 생성합니다. 생성된 계획은 쿼리와 동일한 이름을 사용하는 .txt
파일에 저장됩니다. 생성된 계획을 보거나 다운로드할 수 있습니다.
생성된 계획에는 쿼리 실행에 사용되는 단계 세트가 포함되어 있습니다. 계획을 사용하여 쿼리 성능이 최적이 아닌 상태가 되도록 하는 이슈를 확인합니다. 이후에 쿼리를 조정하여 성능을 개선할 수 있습니다.
주:
기본적으로 OCI(Gen 2) 환경에서만 실행 계획을 생성할 수 있습니다. 클래식 환경에서 사용으로 설정하려면 서비스 요청을 통해 Oracle에 문의하십시오.BI Publisher가 포함된 템플리트로 사용할 샘플 XML 파일을 쿼리에서 생성하려면 샘플 XML 생성을 클릭합니다.
주:
[작업] 메뉴를 사용하여 손쉽게 쿼리를 삭제하거나 복제할 수 있습니다.쿼리 생성
쿼리 생성 대화상자는 쿼리 및/또는 필터링할 제품의 기존 속성을 선택할 수 있게 하여 데이터베이스에 대한 쿼리 생성을 지원합니다. 그러면 대화상자에서 지정된 속성 및 필터와 일치하는 SQL을 생성하며, 이때 SQL을 수정하고 향상시킬 수 있습니다.
보고서 쿼리를 생성하려면 다음을 수행합니다.
모듈에서 Reconciliation Manager 또는 트랜잭션 일치를 선택합니다.
쿼리에서 쿼리의 유형을 선택합니다.
모듈에서 Reconciliation Manager를 선택한 경우, 조정, 프로파일 또는 트랜잭션 옵션 중 하나를 선택합니다.
모듈에서 트랜잭션 일치를 선택한 경우 드롭다운 목록에 나열된 쿼리에서 쿼리를 선택합니다.
보안 적용을 선택하여 본인의 역할과 할당된 조정에 따라 볼 수 있는 데이터만 사용자에게 표시되도록 보안 필터를 적용합니다.
주:
쿼리 아래에서 일치 유형을 선택하면 보안 적용 옵션이 표시되지 않습니다.쿼리에 포함할 열을 선택하고 다음을 누릅니다.
주:
트랜잭션 일치에서는 트랜잭션 쿼리 자동 생성을 지원합니다.주:
트랜잭션 일치의 경우 사용가능한 열 목록에서 선택하지 않은 경우에도 계정 ID 열이 생성된 쿼리에 포함됩니다. 보고서에서 계정 ID 열을 제외하려면 생성된 쿼리의 SELECT 목록에서 계정 ID 열을 제거합니다.보고서에 매개변수 쿼리 추가
보고서에 매개변수 쿼리를 추가하려면 다음을 수행하십시오.
쿼리를 선택한 다음 매개변수 쿼리 유형(예: CurrencyList)을 선택하십시오.
쿼리 편집 대화상자에서 매개변수 쿼리를 검토 및/또는 편집하고 저장 후 닫기를 누르십시오.
보고서 구성 화면으로 돌아갑니다.
보고서를 선택한 다음, 원하는 보고서(예: 조정별 잔액)를 선택하십시오.
보고서 편집 대화상자에서 매개변수를 선택하십시오.
원하는 매개변수 코드의 경우, 드롭다운에서 매개변수 유형은 쿼리로 선택하고 속성/쿼리는 CurrencyList로 선택하십시오.
매개변수 값 드롭다운에서는 통화 목록을 표시합니다.
주:
매개변수 유형 드롭다운에서 쿼리를 선택한 경우에만 속성/쿼리 드롭다운에 매개변수 쿼리 목록이 표시됩니다.주:
매개변수 유형 드롭다운에서는 각 모듈에 대한 모듈 속성(Reconciliation Manager 또는 트랜잭션 일치)을 선택할 수 있습니다. 매개변수 유형으로 모듈 속성을 선택하면 속성/쿼리 드롭다운에 해당 모듈의 속성 목록이 표시됩니다.저장 및 닫기를 누릅니다.
조정 준수 예
이러한 조정 준수 예에서는 "월별" 빈도가 포함된 기간 목록을 표시하는 보고서를 실행하려 한다고 가정합니다.디자인 중인 보고서에 매개변수가 포함되는 경우 레코드를 표시하지 않거나 모든 레코드를 표시하도록 보고서를 디자인할 수 있습니다.
매개변수 쿼리: Select frequency_id, frequency_name from arm_frequencies
보고서 쿼리 옵션 1: (사용자가 빈도 값을 제공하지 않을 경우 기간을 반환하지 않음)
Select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = ~FREQUENCY~
보고서 쿼리 옵션 2: (사용자가 빈도 값을 제공하지 않을 경우 모든 기간을 반환함)
Select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = coalesce(~FREQUENCY~,pf.frequency_id)
주:
매개변수 이름은 아무 이름이나 지정할 수 있지만 물결표(~)로 묶어야 합니다.
두 번째 옵션에서 coalesce()
함수는 목록에서 null이 아닌 첫 번째 값을 반환합니다. 따라서 FREQUENCY가 null이면 pf.frequency_id
를 반환하며, 이 경우 해당 조건이 항상 true(pf.frequency_id = pf.frequency_id
)이므로 모든 레코드가 반환됩니다.
트랜잭션 일치 예
이러한 예에서는 지정된 조정 유형의 조정 목록을 확인하려 한다고 가정합니다.
매개변수 쿼리: SELECT TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID , (TM_RECON_TYPE.NAME || ' (' || TM_RECON_TYPE.TEXT_ID || ')') AS RECONCILIATION_TYPE_NAME FROM TM_RECON_TYPE TM_RECON_TYPE
보고서 쿼리, 옵션 1: (사용자가 조정 유형을 선택하지 않은 경우 조정을 반환하지 않음):
SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND (TM_RECON_TYPE.TEXT_ID = '~RECONCILIATION_TYPE_ID~')
보고서 쿼리 옵션 2: (사용자가 조정 유형을 선택하지 않은 경우 모든 조정 반환):
SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND COALESCE('~RECONCILIATION_TYPE_ID~',TM_RECON_TYPE.TEXT_ID)
주:
매개변수 이름은 아무 이름이나 지정할 수 있지만 물결표(~)로 묶어야 합니다.
두번째 옵션에서 coalesce()
함수는 목록에서 널이 아닌 첫번째 값을 반환합니다. RECONCILIATION_TYPE_ID가 널이면 TM_RECON_TYPE.TEXT_ID
를 반환하며, 이 경우 조건은 항상 참((TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID)
이므로 모든 레코드가 반환됩니다.
보고서 쿼리, 옵션 3(사용자에게 액세스 권한이 있는 경우 모든 조정을 반환함): SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID, TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE, ARM_RECONCILIATIONS ProfileEO WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND TM_RECON.TEXT_ID = ProfileEO.RECONCILIATION_ACCOUNT_ID AND $ARM_SECURITY_CLAUSE$ AND ProfileEO.PERIOD_ID = -2