개념: 큐브 시트 계산에서 0으로 평가되어야 함
이 경고는 큐브 계산이 시트 뷰에서 오류로 표시됨을 나타냅니다. 오류가 발생해도 큐브 시트가 계속 수행됩니다.
0으로 평가하는 데 도움이 되는 방법
큐브 시트를 디너 테이블로, 셀을 테이블의 시트로 생각하십시오. 호스트가 접시가 있는 좌석에서 음식을 제공합니다. 마찬가지로, 수식이 빈 셀을 참조하는 경우 큐브가 계산을 수행하지 않습니다. 대신 큐브는 0으로 계산되거나 음식을 제공하지 않습니다.
이 시스템은 모두 참조 계정이 동일한 큐브에 있을 때 제대로 작동합니다. 그러나 참조된 계정이 동일한 큐브에 있지 않은 경우 큐브는 0으로 평가되는 시점을 알지 못합니다.
이는 마치 저녁 식사 때 호스트의 눈을 가리는 것과 같습니다. 호스트가 접시가 어디에 있는지도 모른 채 음식을 서빙해야 하는 경우, 호스트는 음식과 에너지를 낭비하게 됩니다. 마찬가지로, 큐브가 0으로 평가되는 시점을 알기 위해 모든 교차점을 검색해야 하는 경우 시트 성능에 부담이 됩니다.
대신 호스트가 서비스 제공을 거부합니다. 마찬가지로 큐브는 계산을 거부하고 대신 오류를 반환합니다.
동일한 큐브 시트 내 계산
이 예에서는 동일한 시트 내에서 계정을 참조할 때 큐브 시트의 계산이 작동하는 방식을 보여줍니다.
- ACCT.CubeCalc 및 ACCT.Cube_001이 동일한 큐브 시트에 있습니다.
- ACCT.Cube_001은 데이터 입력 계정입니다.
- ACCT.CubeCalc에는 큐브 계정 ACCT.Cube_001 * 5를 참조하는 수식이 있습니다.
계정 | 1월 | 2월 |
|---|---|---|
ACCT.Cube_001 | 5 | |
ACCT.CubeCalc | 25 | 0 |
ACCT.Cube_001에는 2월에 대한 데이터가 없으므로 큐브 계산은 0으로 평가됩니다.
큐브 외부의 참조를 사용한 계산
이 예에서는 큐브 시트 외부의 계정을 참조할 때 큐브 계산이 작동하는 방식을 보여줍니다.
- ACCT.CubeCalc는 큐브 시트 외부에 있는 총계정원장인 ACCT.002를 참조합니다.
- ACCT.CubeCalc에는 총계정원장을 참조하는div (ACCT.002, 2)수식이 있습니다.
모델링
에서 큐브 계산 계정을 저장하면Cube Calculation Formulas Must Evaluate to Zero
오류가 발생합니다. 이 오류로 인해 시트를 저장할 수 있는 것은 아닙니다. 그러나 시트의 셀에 오류가 표시됩니다.계정 | 1월 | 2월 |
|---|---|---|
ACCT.CubeCalc | 오류 | 오류 |
ACCT.002에 대한 계정이 큐브 시트에 없기 때문에 큐브 계산에서는 ACCT.002에 대한 1월 또는 2월에 판이 있는지 여부를 알 수 없습니다. 큐브는 가능한 모든 자리에서 음식을 제공하거나 가능한 모든 교차점을 검색하는 대신 음식 제공을 전혀 거부합니다. 즉, 오류를 반환합니다.
큐브 시트에서 계정 트리거
오류를 해결하려면 다음을 수행합니다.
- 다른 큐브 계정을 트리거 계정으로 참조하고 수식에isblank조건을 추가합니다.ACCT.account_code구문을 사용해야 하며, 모델에서account_code를유효한 계정 코드로 바꿔야 합니다.account.this는사용할 수 없습니다.
- 총계정원장 또는 커스텀 계정을 큐브 입력 계정으로 큐브에 추가합니다. 참조 큐브 시트에 총계정원장 및 커스텀 계정 추가.
- 병합된 큐브 시트를 생성하면 트리거 계정이 필요하지 않습니다. 참조 개념: 병합된 큐브 시트.
트리거는 큐브 메트릭 계정을 제외한 동일한 큐브의 모든 계정일 수 있습니다. 트리거는 테이블에서 예상되는 번호판의 위치를 큐브 계산에 알려줍니다. ACCT,CubeCalc 수식의 오류를 제거하려면 다음과 같이 업데이트합니다.
- 기존 수식: div (ACCT.002, 2)
- 신규 수식: if (isblank (ACCT.Cube_Trigger), 0, div (ACCT.002, 2))
새 수식은 트리거 계정이
비어 있는
경우 0을 반환합니다. 그렇지 않으면 총계정원장 계정을 2로 나눕니다. 이제 시트에서 오류를 제거합니다. 계산은 총계정원장에 데이터가 있어도 트리거에 번호가 있는 경우에만 작동합니다. 계정 | 1월 | 2월 |
|---|---|---|
ACCT.CubeCalc | 3500 | 0 |
ACCT.Cube_Trigger | 1 |
트리거에 대해 2월에 데이터를 추가하면 총계정원장에서 데이터를 찾아 2월에 대한 데이터를 계산합니다.
큐브 트리거 계정에 대한 제한
큐브 메트릭 계정은 트리거로 작동하지 않습니다. 큐브 메트릭은 큐브 내의 가능한 모든 교차점에서 계산됩니다. 가능한 모든 leaf 교차점에서 계산할 뿐만 아니라 parent 교차점의 가능한 모든 순열에서도 계산합니다.
큐브 메트릭을 사용하면 게스트가 몇 명뿐인 경우에도 호스트가 저녁 식사를 대규모로 제공해야 합니다. 큐브 메트릭이 10명의 게스트를 수용하는 경우 10,000접시의 음식을 제공합니다.
따라서 메트릭을 트리거로 사용하면 큐브 시트에 과도한 부담이 발생할 수 있습니다.
일반적으로 트리거는 시스템에 부담을 줄 수 있습니다. 현재 사용되지 않는 교차점에 트리거를 추가하지 않도록 주의하십시오.
효율적인 트리거는 필요한 교차점만 생성합니다. 예를 들어 계획 데이터 소스를 사용하여 특정 디멘션 값에 대한 트리거를 로드합니다. 또는 이력 조합을 사용하여 미래 값을 표시합니다.