데이터 로드 및 차원 빌드 디버그
Essbase 데이터 로드 및 차원 빌드의 문제에는 잘못된 로드 또는 실패한 프로세스가 포함됩니다. 소스에 알 수 없는 멤버 또는 누락/부적합한 필드가 포함되어 있거나, 로드 규칙이 부적합하거나, 서버 또는 소스 데이터에 대한 접속이 없을 수 있습니다. 오류 로그는 디버그하는 데 도움이 될 수 있습니다.
데이터 소스가 Essbase 서버로 올바르게 로드되지 않는 경우 적절한 애플리케이션 및 데이터베이스에 연결되어 있고 올바른 데이터 소스를 로드하고 있는지 확인합니다.
그래도 문제가 발생하면 다음 항목을 참조하십시오.
문제를 해결한 후 오류 로그를 다시 로드하여 로드하지 않은 레코드를 다시 로드할 수 있습니다. 참조: 차원 빌드에서 로드 및 데이터 로드 오류 로그.
Essbase 서버를 사용할 수 있는지 확인합니다.
데이터를 로드할 수 없는 경우 Essbase 서버가 실행 중인지 확인합니다. 다른 작업의 경우 Essbase 서버에 액세스해 보십시오.
예를 들어 검색을 위해 Essbase 애플리케이션에 연결할 수 있는지 확인합니다. Smart View에서 쿼리를 실행해 봅니다.
소스 데이터를 사용할 수 있는지 확인
Essbase가 로드할 소스 데이터에 액세스할 수 없는 경우 파일이 잠금 해제되어 있고 경로 및 파일 확장자가 올바른지 확인합니다. 소스 데이터가 외부 데이터베이스인 경우 실행 중인지 확인하고 연결할 수 있습니다.
소스 데이터에 대한 다음 세부정보를 확인합니다.
-
소스 데이터가 열려 있지 않습니다(예: 소스 데이터를 편집하는 사람이 있습니까?).
Essbase는 다른 사용자나 애플리케이션에 의해 잠기지 않은 소스 데이터만 로드할 수 있습니다.
-
소스 데이터의 파일 확장자가 올바릅니다.
텍스트 파일에는
.txt확장자가 있어야 합니다. 규칙 파일에는.rul확장자가 있어야 합니다. -
소스 데이터 파일 이름과 경로 이름이 올바릅니다.
철자를 확인합니다.
-
소스 데이터가 지정된 위치에 있습니다.
소스 데이터 파일을 이동하거나 삭제한 사람이 없는지 확인합니다.
-
SQL 데이터 소스를 사용하는 경우:
-
연결 세부 정보(유저 이름, 암호 및 데이터베이스 이름 등)가 정확합니다.
-
Essbase를 사용하지 않고도 SQL 소스 데이터에 연결할 수 있습니다.
-
오류 로그 확인
로그는 중요한 디버깅 도구이므로 데이터 로드 또는 차원 빌드를 수행할 때 Essbase가 오류 로그에 쓰도록 하는 것이 좋습니다. 차원 빌드 또는 데이터 로드 중 발생한 오류를 나열하고 로드하지 못한 레코드를 포함합니다.
오류를 수정한 후 오류 로그에서 다시 로드할 수 있습니다. 오류 로그가 없으면 다음 조건이 있는지 확인합니다.
-
데이터 로드 또는 차원 빌드 작업을 실행하는 사람이 오류 로그를 설정했습니다. 데이터 로드 또는 차원 빌드를 수행할 때 Essbase에 오류 시 데이터 로드를 중단하거나 로그에 오류를 쓰기/추가하도록 지정할 수 있습니다.
Essbase가 차원 빌드 또는 데이터 로드에 대한 오류 로그를 생성할 때 큐브 디렉토리에 생성됩니다. 파일 형식은
err_<databasename>_<number>.txt입니다. -
데이터 소스와 Essbase 서버를 모두 사용할 수 있습니다.
Essbase 서버를 사용할 수 있는지 확인 및 소스 데이터를 사용할 수 있는지 확인을 참조하십시오.
-
데이터 로드 중 Essbase 서버가 충돌했습니다.
이 경우 클라이언트에서 네트워크 시간 초과 오류가 발생했을 수 있습니다.
-
애플리케이션 로그가 있습니다.
오류 로그가 있지만 비어 있는 경우 Essbase는 로드 중 오류가 발생했다고 생각하지 않습니다. 다음 조건이 존재하는지 확인합니다.
-
로드 규칙에는 소스의 모든 레코드를 거부한 선택 또는 거부 기준이 포함되어 있습니다.
레코드 선택 및 거부를 참조하십시오.
-
로드 규칙이 제대로 검증됩니다.
적합한 데이터 로드 규칙 파일에 대한 요구 사항 및 적합한 차원 작성 규칙 파일에 대한 요구 사항을 참조하십시오.
데이터가 잘못 로드된 경우 문제 해결
Essbase 데이터가 오류 없이 로드되지만 데이터가 잘못된 것 같으면 먼저 소스 데이터를 확인한 다음 암시적 공유, 데이터 크기 조정, 기호 반전 및 로드 규칙과 관련된 기타 잠재적 문제를 확인합니다.
로드된 데이터의 문제를 해결하려면 다음 항목을 확인합니다.
-
올바른 데이터 소스를 로드했습니다.
이 경우 데이터 소스에 올바른 값이 포함되어 있는지 다시 확인합니다.
-
소스 데이터의 형식이 올바르게 지정됩니다.
-
모든 범위가 제대로 설정되었습니다.
-
데이터는 깨끗합니다. 예를 들어, 데이터 소스를 처리할 때 Essbase는 멤버 이름을 인식하고 멤버 이름이 속한 차원을 인식합니다. 데이터 소스 레코드에 실수로 머리글 레코드에 이름이 지정된 멤버가 있는 차원의 멤버가 포함된 경우 새 멤버 이름은 해당 차원의 헤더 레코드 멤버를 바꿉니다. 다음 예제 데이터 소스에서 Essbase는 플로리다를 마켓 차원의 멤버로 인식합니다. 마지막 4개 레코드의 값은 텍사스 값 대신 플로리다 값으로 해석됩니다.
Jan Actual Texas Sales "100-10" 51.7 "100-20" 102.5 "100-20" 335.0 Florida 96.7 "200-20" 276.0 "200-20" 113.1 "200-10" 167.0
-
-
모르는 암시적으로 공유되는 멤버(상위 멤버와 하위 멤버가 동일한 데이터 값을 공유하는 경우)가 있습니까?
암시적 공유 멤버는 상위와 하위가 동일한 데이터 값을 공유할 때 발생합니다. 상위에 하위가 하나만 있거나 상위로 적상되는 하위가 하나뿐인 경우 발생할 수 있습니다.
-
수신 데이터를 기존 데이터로 바꾸는 대신 수신 데이터를 기존 데이터에 추가했습니다.
기존 값에 추가 또는 기존 값에서 빼기를 참조하십시오.
-
선택 또는 거부하지 않으려는 레코드를 선택하거나 거부했습니다.
레코드 선택 및 거부를 참조하십시오.
-
기호가 뒤집어지고(예: 더하기 기호 대신 빼기 기호) UDA에서 기호를 뒤집었는지 여부가 표시됩니다.
Flip Field Signs를 참조하십시오.
-
지우려고 하지 않은 데이터 조합을 지웠습니다.
데이터 로드 중 기존 데이터 값 지우기를 참조하십시오.
-
들어오는 값의 배율을 잘못 조정했습니다.
데이터 값 배율 조정을 참조하십시오.
-
모든 멤버 및 별칭 이름은 79자 미만입니다.
Smart View 또는 보고서 작성기에서 쿼리를 실행하여 데이터를 확인할 수 있습니다.
파일 마커 끝에 대한 거부 기준 생성
SQL 데이터 소스에는 Essbase 데이터 로드 또는 차원 빌드가 실패하도록 하는 특수 문자로 구성된 파일 끝 표시자가 있을 수 있습니다. 이 문제를 해결하려면 문제 레코드를 거부할 거부 기준을 정의합니다.
거부 기준을 정의하려면
Essbase에서 로드 규칙을 처리하는 방법
경우에 따라 Essbase가 로드 규칙을 초기화/검증하는 방법과 소스 데이터에서 레코드를 처리하는 동안 작업을 수행하는 순서에 따라 차원 빌드의 문제를 추적할 수 있습니다.
Essbase는 로드 규칙을 초기화하기 위해 다음 단계를 수행합니다.
-
연관된 아웃라인에 대해 로드 규칙을 검증합니다.
-
차원을 검증합니다. 이 프로세스에는 빌드 방법 및 필드 유형이 호환되고 각 차원 이름이 고유한지 확인하는 작업이 포함됩니다. 멤버 이름은 고유하거나 공유되어야 합니다.
-
로드 규칙에 정의된 새 치수를 아웃라인에 추가합니다.
-
소스 데이터에 지정된 헤더 레코드를 읽습니다.
그런 다음 Essbase는 데이터 로드 또는 차원 빌드 중 소스 데이터의 각 레코드에 대해 다음 작업을 수행합니다.
-
모든 레코드에 대한 파일 구분자를 설정합니다.
-
로드 규칙에서 작업이 정의된 순서대로 데이터에 필드 작업을 적용합니다.
필드 작업에는 텍스트 및 조인을 사용하여 조인, 이동, 분할 및 필드 생성이 포함됩니다. 로드 규칙에서 필드 작업이 정의되는 순서를 알아보려면 필드에서 작업 수행을 참조하십시오.
-
Essbase는 필드2로 진행하기 전에 필드1에 모든 등록정보를 적용하여 각 필드에 대한 모든 등록정보를 적용합니다. Essbase는 다음 순서로 필드 등록정보를 적용합니다.
-
데이터 로드 중 무시되도록 설정된 필드를 무시합니다.
-
차원 빌드 중 무시되도록 설정된 필드를 무시합니다.
-
데이터 필드에 플래그를 지정합니다.
-
필드 이름을 적용합니다.
-
필드 세대를 적용합니다.
-
로드 규칙에 정의된 순서대로 모든 대체를 수행합니다.
-
선행 및 후행 공백을 삭제합니다.
-
공백을 밑줄로 변환하십시오.
-
접미어 및 접두어 작업을 적용합니다.
-
데이터 값을 배율 조정합니다.
-
텍스트가 소문자로 변환됩니다.
-
텍스트를 대문자로 변환됩니다.
-
-
아웃라인에 멤버 또는 멤버 정보 또는 둘 다를 추가합니다.
-
라인을 건너뛰도록 선택한 경우 Essbase는 지정한 라인 수를 건너뜁니다. 그렇지 않은 경우 Essbase는 첫 번째 레코드로 진행합니다.
-
Essbase는 로드 규칙에서 기준이 정의된 순서대로 선택 또는 거부 기준을 수행합니다. Essbase는 지정된 기준에 따라 소스 데이터의 개별 레코드를 로드하거나 거부합니다.
데이터 로드 중 Essbase에서 누락되거나 부적합한 필드를 처리하는 방법
데이터 로드 중 멤버 필드가 누락된 경우 Essbase는 이전 값을 사용하지만 없는 경우 로드를 중지합니다. 알 수 없는 멤버 이름으로 인해 레코드가 거부됩니다. 부적합한 데이터 필드가 있는 경우 데이터 로드가 중지되어 부분 데이터 로드가 발생합니다.
해당 이슈가 발생한 후 데이터 로드를 재시작하는 방법에 대한 자세한 내용은 차원 빌드에서 로드 및 데이터 로드 오류 로그를 참조하십시오.
차원 또는 멤버 필드가 누락되었습니다.
차원 또는 멤버 필드가 누락된 경우 Essbase는 해당 차원 또는 멤버 필드에 대해 이전에 사용한 값을 사용합니다. 이전 값이 없는 경우 Essbase는 데이터 로드를 중지합니다.
예를 들어, Sample.Basic 데이터베이스에 다음 파일을 로드하면 Essbase는 제품 차원에 루트 맥주 및 다이어트 콜라가 있는 레코드를 포함하여 모든 레코드에 대한 시장 차원에 오하이오 멤버 필드를 매핑합니다.
Jan Sales Actual Ohio
Cola 25
"Root Beer" 50
"Diet Cola" 19누락된 멤버 필드에 대한 값이 포함된 이전 레코드가 없는 경우 Essbase는 데이터 로드를 중지합니다. 예를 들어, 다음 파일을 Sample.Basic 데이터베이스에 로드하려고 하면 시장 차원(이전 예제의 Ohio)이 지정되지 않았기 때문에 데이터 로드가 중지됩니다.
Jan Sales Actual
Cola 25
"Root Beer" 50
"Diet Cola" 19알 수 없는 멤버 필드
데이터 로드를 수행하는 중 알 수 없는 멤버 이름이 발견되면 전체 레코드가 거부됩니다. 누락된 멤버 필드에 대한 멤버 이름이 있는 이전 레코드가 있는 경우 Essbase는 다음 레코드를 계속합니다. 이전 레코드가 없으면 데이터 로드가 중지됩니다. 예를 들어, 다음 파일을 Sample Basic 데이터베이스로 로드하면 Ginger Ale이 포함된 레코드는 유효한 멤버 이름이 아니므로 거부됩니다. Cola, Root Beer 및 Cream Soda가 포함된 레코드가 로드됩니다. 그러나 Ginger Ale이 첫 번째 레코드에 있으면 데이터 로드가 중지됩니다.
Jan, Sales, Actual
Ohio Cola 2
"Root Beer" 12
"Ginger Ale" 15
"Cream Soda" 11주:
차원 빌드를 수행하는 경우 데이터베이스에 새 멤버를 추가할 수 있습니다. 데이터 로드 또는 차원 빌드 수행을 참조하십시오.
부적합한 데이터 필드
데이터 로드를 수행하는 경우 부적합한 데이터 필드가 발견되면 데이터 로드가 중지됩니다. 부적합한 필드가 큐브로 로드되기 전에 읽은 모든 필드가 큐브에 로드되어 부분 데이터가 로드됩니다. 예를 들어, 다음 파일에서 15- 데이터 값이 발견되면 데이터 로드가 중지됩니다. 1월 및 2월 판매 레코드가 로드되지만 3월 및 4월 판매 레코드는 로드되지 않습니다.
East Cola Actual
Sales Jan $10
Feb $21
Mar $15-
Apr $16