SSAS 다차원 instance 오류(쿼리 최적화 프로그램이 너무 많은 하위 큐브를 생성함) 및 MDX 쿼리가 실패함
이 문서는 Microsoft SSAS(SQL Server Analysis Services) 다차원 instance MDX(다차원 식) 쿼리를 실행할 때 발생하는 문제를 resolve 데 도움이 됩니다.
적용 대상: SQL Server 2012 Analysis Services, SQL Server 2014 Analysis Services, SQL Server 2016 Analysis Services, SQL Server 2017 Analysis Services Windows, SQL Server 2019 Analysis Services Windows
원본 KB 번호: 4533057
증상
Microsoft SSAS(SQL Server Analysis Services) 다차원 instance MDX(다차원 식) 쿼리를 실행하면 MDX 쿼리가 실패하고 다음 오류 메시지가 반환됩니다.
쿼리 최적화 프로그램이 쿼리 계획에서 너무 많은 하위 큐브를 생성했습니다.
이 오류는 다음 조건이 true인 경우 발생합니다.
- 단일 계층 수준 또는 특성에 너무 많은 계산 멤버가 정의됩니다.
- 많은 필드 또는 특성 멤버가 각 축에 배치됩니다. 또는 Microsoft Excel에서 피벗 테이블의 행이나 열에 여러 필드가 함께 배치됩니다.
- 선택한 계층의 모든 멤버가 축에 포함됩니다.
- Excel 피벗 테이블에서 총합계 및 부분합이 켜져 있습니다.
원인
SSAS FE(수식 엔진)는 SE(스토리지 엔진) 쿼리 하위 큐브 또는 수중 음파 탐지기 하위 큐브에 대한 모든 관련 MDX 집합을 생성해야 합니다. 생성할 수 있는 쿼리당 SE 쿼리 하위 큐브 수에 제한이 있습니다. 이것은 정상적인 현상입니다. 현재 쿼리 계획에서 FE가 쿼리에 대해 너무 많은 쿼리 하위 큐브를 생성하는 경우 오류가 발생합니다.
해결 방법
이 오류를 방지하려면 다음 모범 사례 지침을 따르세요.
- Excel 피벗 테이블에서 총합계와 부분합을 모두 끕니다.
- Excel UI에서 피벗 테이블의 행 또는 열 축에서 계층 구조를 제거합니다.
- 차원 계층 구조에 너무 많은 계산 멤버(예: 500개 이상)를 정의하지 마세요. 대신 차원 계층 구조에 정규 멤버가 있고 MDX scope 할당 식(계산 셀이라고도 함)을 사용하여 해당 계산 멤버의 식을 바꿉니다.