후기록 배치

후기록 기능을 통해 사용자는 분석에서 데이터를 업데이트할 수 있습니다.

항목:

관리자용 후기록 정보

후기록 기능을 통해 사용자는 대시보드 및 분석에서 직접 데이터를 업데이트할 수 있습니다.

데이터베이스에 후기록 권한이 있는 사용자에게는 분석에서 후기록 필드가 편집 가능 필드로 표시됩니다. 입력한 값은 데이터베이스에 저장됩니다. 데이터베이스에 후기록 권한이 있는 사용자에게는 후기록 필드가 읽기 전용 필드로 표시됩니다.

사용자가 편집 가능 필드에 값을 입력하고 후기록 단추를 누르면 애플리케이션은 후기록 템플리트에 정의된 insert 또는 update SQL 명령을 실행합니다. 명령을 성공하면 새 값으로 분석이 업데이트됩니다. 템플리트를 읽거나 SQL 명령을 실행할 때 오류가 발생하면 오류 메시지가 표시됩니다.

레코드가 아직 없을 때 사용자가 새 데이터를 테이블에 입력하면 insert 명령이 실행됩니다. 이 경우에는 사용자가 원래 값이 Null인 테이블 레코드에 데이터를 입력한 것입니다. 사용자가 기존 데이터를 수정하면 update 명령이 실행됩니다. 물리적 테이블에 아직 없는 레코드를 표시하려면 다른 유사한 테이블을 생성할 수 있습니다. 이 유사한 테이블을 사용하여 사용자가 수정할 수 있는 위치 표시자 레코드를 표시합니다.

주:

후기록 템플리트를 생성하는 경우 insert 명령 및 update 명령이 사용되지 않더라도 둘 다 포함해야 합니다. 예를 들어 insert만 수행하려면 이 XML 코드에서와 같이 비어 있는 update 문인 <update></update>를 포함해야 합니다.

2개의 insert 명령과 2개의 비어 있는 update 문이 포함된 샘플 후기록 XML 파일은 다음과 같습니다. 후기록 XML 파일을 생성 및 구조화하는 방법에 대한 자세한 내용은 후기록 템플리트 파일 생성을(를) 참조하십시오.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
<WebMessage name="SetForecastUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

분석 및 대시보드에서 후기록 사용

관리자는 사용자가 분석 및 대시보드에서 데이터를 편집하도록 설정할 수 있습니다.

  1. 의미 모델을 설정합니다.

    주:

    모델 관리 툴을 사용하여 의미 모델을 개발하는 경우 이 단계를 수행합니다. 의미 모델러를 사용하는 경우 참조:

    열에서 후기록 사용 .

    1. 모델 관리 툴에서 의미 모델(.rpd 파일)을 엽니다.
    2. 물리적 층에서 후기록을 사용으로 설정할 열이 포함된 물리적 테이블을 두 번 누릅니다.
    3. 물리적 테이블 대화상자의 일반 사항 탭에서 캐시에 저장 가능이 선택되지 않았는지 확인합니다. 이 옵션의 선택을 해제하면 Presentation Services 사용자가 업데이트를 즉시 확인할 수 있습니다.
    4. 비즈니스 모델 및 매핑 층에서 해당하는 논리적 열을 두 번 누릅니다.
    5. 논리적 열 대화상자에서 쓰기 가능을 선택하고 확인을 누릅니다.
    6. 프리젠테이션 층에서 후기록을 사용으로 설정한 논리적 열에 해당하는 열을 두 번 누릅니다.
    7. 프리젠테이션 열 대화상자에서 권한을 누릅니다.
    8. 적절한 사용자 및 애플리케이션 롤에 대해 읽기/쓰기 권한을 선택합니다.
    9. 변경사항을 저장합니다.
  2. 후기록 템플리트를 사용하여 XML 문서를 생성합니다. 후기록 템플리트 파일 생성을(를) 참조하십시오.

    XML 문서에는 템플리트가 여러 개 포함될 수 있습니다. 이 예시에서는 2개의 템플리트(SetQuotaUseIDSetForecastUseID)가 포함된 XML 문서를 보여줍니다.

    <?xml version="1.0" encoding="utf-8" ?>
    <WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
    <WebMessageTable lang="en-us" system="WriteBack" table="Messages">
       <WebMessage name="SetQuotaUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
                <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    <WebMessage name="SetForecastUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e01}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
                <update>UPDATE regiontypeforecast SET Dollars=@{c7322jkl93ev92cd8} WHERE YR=@{c83ebf607f3cb8320} AND Quarter=@{cb7e2046a0fba2204} AND Region='@{c5a93e65d31f10e01}' AND ItemType='@{c5a93e65d31f10e0}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    </WebMessageTable>
    </WebMessageTables>
    : <insert> 요소와 <update> 요소는 둘 다 사용되지 않는 경우에도 포함해야 합니다. 예를 들어, insert만 수행하려면 비어 있는 update 문인 <update></update>를 포함해야 합니다.
  3. 후기록 템플리트가 포함된 XML 문서를 클립보드에 복사합니다.
  4. Oracle Analytics에서 후기록 템플리트를 적용합니다.
    1. 콘솔을 누르고 시스템 설정을 누릅니다.
    2. 후기록 템플리트 XML에 단계 3에서 복사한 후기록 템플리트를 붙여넣습니다.
  5. 후기록 코드를 사용할 권한을 부여합니다.
    1. 클래식 홈으로 이동하여 관리를 누릅니다.
    2. 보안 아래의 권한 관리를 누르고 후기록으로 이동합니다.
    3. 인증된 사용자에게 데이터베이스에 후기록 권한을 부여합니다.
    4. BI 서비스 관리자에게 후기록 관리 권한을 부여합니다.
  6. 열에 후기록을 사용으로 설정합니다.
    1. 분석 편집기에서 후기록을 사용으로 설정할 열의 [열 속성]을 표시합니다.
    2. [열 속성] 대화상자에서 후기록 탭을 누릅니다.
      의미 모델에서 열에 대한 쓰기가 사용으로 설정된 경우 후기록 사용 상자를 사용할 수 있습니다.
    3. 후기록 사용 옵션을 선택합니다.
    4. 기본값을 변경하려면 다른 옵션 값을 지정합니다.
    5. 변경사항을 저장합니다.
    이 열이 포함된 모든 분석에서 열 후기록이 사용으로 설정됩니다.
  7. 테이블 뷰에 후기록을 사용으로 설정합니다.
    1. 분석 편집기에서 편집할 테이블 뷰를 엽니다.
    2. 뷰 속성을 누릅니다.
    3. 테이블 속성 대화상자에서 후기록 탭을 누릅니다.
    4. 후기록 사용 옵션을 선택합니다.
    5. 템플리트 이름 상자를 선택하고 단계 2에서 지정한 후기록 템플리트에 "WebMessage name=" 값을 지정합니다.
      예를 들어, 단계 2의 예제 템플리트에 대한 템플리트 이름은 'SetQuotaUseID'입니다.
    6. 변경사항을 저장합니다.

후기록 제한사항

사용자는 Oracle Analytics에서 SQL 질의 실행을 허용하는 데이터 소스에 후기록을 수행할 수 있습니다.

후기록을 구성한 후에는 다음 제한사항에 주의해야 합니다.

  • 숫자 열은 숫자만 포함해야 합니다. 달러 기호($), 파운드 기호 또는 해시 기호(#), 퍼센트 기호(%) 등의 데이터 형식 지정 문자를 포함하지 않아야 합니다.

  • 텍스트 열은 문자열 데이터만 포함해야 합니다.

  • 로그온한 사용자가 후기록을 사용하여 데이터를 수정한 분석을 포함하는 대시보드를 이미 보고 있을 경우 대시보드에서 데이터가 자동으로 새로고침되지 않습니다. 업데이트된 데이터를 확인하려는 사용자는 수동으로 대시보드를 새로고침해야 합니다.

  • 테이블 뷰 및 단일 값 데이터에 대해서만 템플리트 방식을 사용할 수 있습니다. 피벗 테이블 뷰, 기타 유형의 뷰, 다중 값 데이터 또는 단일 값 데이터를 포함하는 드롭다운 열에 대해서는 템플리트 방식이 지원되지 않습니다.

  • 후기록 열의 모든 값은 편집 가능합니다. 프린터에 적합하지 않은 컨텍스트에서 표시될 때 편집 가능한 필드는 사용자에게 데이터베이스에 후기록 권한이 있는 것처럼 표시됩니다. 하지만 논리적 열이 변경 가능한 물리적 열에 매핑될 때는 논리적 열이 여러 레벨 교차 부분에 대한 값을 반환합니다. 이 시나리오는 문제를 일으킬 수 있습니다.

  • 분석 내의 모든 필드는 생성한 후기록 테이블에서 파생되지 않더라도 후기록 필드로 표시될 수 있습니다. 하지만 테이블에 후기록이 사용으로 설정되지 않았으면 후기록 작업이 성공적으로 실행되지 않을 수 있습니다. 필드를 올바르게 표시할 책임은 콘텐츠 설계자에게 있습니다.

  • 템플리트는 insertupdate 이외의 SQL 문을 포함할 수 있습니다. 후기록 기능은 이러한 문을 데이터베이스로 전달합니다. 하지만 Oracle은 insert 또는 update 이외의 문 사용을 지원하거나 권장하지 않습니다.

  • Oracle Analytics는 데이터 입력에 대해 최소한의 검증만 수행합니다. 숫자 필드에 사용자가 텍스트 데이터를 입력하면 Oracle Analytics가 이를 감지하고 부적합한 데이터가 데이터베이스로 전달되지 않도록 방지합니다. 하지만 범위를 벗어난 값, 텍스트와 숫자 혼합 등 다른 형식의 부적합한 데이터 입력은 감지하지 않습니다. 사용자가 후기록 단추를 누르고 삽입 또는 업데이트가 실행될 때 부적합한 데이터가 있으면 데이터베이스에서 오류 메시지가 발생합니다. 그런 다음 사용자가 잘못된 입력을 수정할 수 있습니다. 콘텐츠 설계자는 "숫자 데이터 필드에 영숫자 혼합 값 입력 금지"와 같이 사용자에 도움이 되는 텍스트를 후기록 분석에 포함할 수 있습니다.

  • 임의의 새 레코드를 입력할 때는 템플리트 방식이 적합하지 않습니다. 즉, 이를 데이터 입력 툴로 사용하지 마십시오.

  • 후기록을 위한 테이블을 생성할 때는 하나 이상의 열에 후기록 기능이 포함되지 않더라도 최소한 각 행에 대해 고유하고 null이 아닌 값이 포함되는지 확인합니다.

  • 후기록 분석은 드릴다운을 지원하지 않습니다. 드릴다운은 테이블 구조를 수정하기 때문에 후기록 템플리트가 작동하지 않습니다.

    주의:

    템플리트 방식은 사용자 입력을 가져와서 이를 직접 데이터베이스에 기록합니다. 물리적 데이터베이스의 보안은 사용자 고유의 책임입니다. 최적의 보안을 위해서는 고유한 데이터베이스 인스턴스에 후기록 데이터베이스 테이블을 저장하십시오.

후기록 템플리트 파일 생성

후기록 템플리트 파일은 하나 이상의 후기록 템플리트가 포함된 XML 형식의 파일입니다.

후기록 템플리트는 템플리트 이름을 지정하는 WebMessage 요소, 접속 풀, 생성한 후기록 테이블 및 열에서 레코드를 삽입 및 업데이트하는 데 필요한 SQL 문으로 구성됩니다. 콘텐츠 설계자는 후기록을 위한 테이블 뷰를 사용으로 설정할 때 테이블 뷰에서 레코드 삽입 및 업데이트를 위해 사용할 후기록 템플리트의 이름을 지정해야 합니다.

후기록 템플리트 요구사항

후기록 템플리트는 다음 요구사항을 충족해야 합니다.

  • WebMessage: WebMessage 요소에서 name 속성을 사용하여 후기록 템플리트의 이름을 지정해야 합니다.

    후기록이 올바르게 작동하기 위해서는 후기록을 위한 테이블 뷰를 사용으로 설정할 때 콘텐츠 설계자가 뷰에서 레코드를 삽입 및 업데이트하는 데 사용할 후기록 템플리트의 이름을 지정해야 합니다.

    이 예시에서는 SetQuotaUseID라는 후기록 템플리트를 보여줍니다.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: 보안 요구사항을 충족하기 위해서는 레코드를 삽입 및 업데이트하는 SQL 명령과 함께 접속 풀을 지정해야 합니다. 이러한 SQL 명령은 후기록 스키마에 전달되는 값을 참조하여 데이터베이스 테이블을 수정하는 SQL 문을 생성합니다.

  • VALUES: 열 값은 열 ID 또는 열 위치로 참조할 수 있습니다. 열 ID를 사용하는 것이 좋습니다.

    문자열 및 날짜 값을 작은 따옴표로 묶습니다. 숫자 값에는 작은 따옴표가 필요하지 않습니다.

    • 열 ID - 각 열 ID는 영숫자로 표시되며 무작위로 생성됩니다. 분석 편집기의 고급 탭에서 제공되는 분석 XML 정의에서 열 ID를 찾을 수 있습니다. 예를 들어 열 ID 값은 @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'과 같습니다.

      열 ID를 사용하면 열 순서가 바뀌더라도 후기록이 계속 작동합니다.

      분석 편집기에서 고급 탭의 XML

    • 열 위치 - 열 위치는 1부터 번호 매김이 시작됩니다. 예를 들어 열 위치 값은 @1, @3, '@5'와 같습니다.

      열 순서가 바뀌면 후기록이 더 이상 작동하지 않습니다. 따라서 열 ID가 선호됩니다.

  • 템플리트에 <insert><update> 요소를 둘 다 포함해야 합니다. 요소 내에 SQL 명령을 포함하지 않으려면 여는 태그와 닫는 태그 사이에 공백을 삽입해야 합니다. 예를 들어 다음과 같이 요소를 입력해야 합니다.

    <insert> </insert>
    

    다음과 같이 입력하면 안됩니다.

    <insert></insert>
    

    공백을 생략하면 "후기록 템플리트 'my_template'을(를) 읽을 수 없습니다."와 같은 후기록 오류 메시지가 표시됩니다.

  • 매개변수의 데이터 유형이 정수 또는 실수가 아니면 작은 따옴표로 묶습니다. 데이터베이스가 커밋을 자동으로 수행하지 않으면 insertupdate 노드 다음에 선택사항인 postUpdate 노드를 추가하여 커밋을 강제합니다. postUpdate 노드는 일반적으로 다음 예를 따릅니다.

    <postUpdate>COMMIT</postUpdate>
    

열 ID 구문을 사용하는 후기록 템플리트 파일 예

열 ID로 값을 참조하는 후기록 템플리트 파일은 다음 예와 비슷할 수 있습니다.

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

열 위치 구문을 사용하는 후기록 템플리트 파일 예

열 위치로 값을 참조하는 후기록 템플리트 파일은 다음 예와 비슷할 수 있습니다.

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuota">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert>
            <update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>