집계 디자인(XMLA)

집계 디자인은 특정 측정값 그룹의 파티션과 연결되어 해당 파티션에서 집계를 저장할 때 동일한 구조를 사용하도록 합니다. 파티션에 동일한 스토리지 구조를 사용하면 MergePartitions 명령을 사용하여 나중에 병합할 수 있는 파티션을 쉽게 정의할 수 있습니다. 집계 디자인에 대한 자세한 내용은 집계 및 집계 디자인을 참조하세요.

집계 디자인에 대한 집계를 정의하려면 XMLA(XML for Analysis)에서 DesignAggregations 명령을 사용할 수 있습니다. DesignAggregations 명령에는 참조로 사용할 집계 디자인과 해당 참조에 따라 디자인 프로세스를 제어하는 방법을 식별하는 속성이 있습니다. DesignAggregations 명령 및 해당 속성을 사용하여 집계를 반복 또는 일괄 처리로 디자인한 다음, 결과 디자인 통계를 보고 디자인 프로세스를 평가할 수 있습니다.

집계 디자인 지정

DesignAggregations 명령의 Object 속성에는 기존 집계 디자인에 대한 개체 참조가 포함되어야 합니다. 개체 참조는 데이터베이스 식별자, 큐브 식별자, 측정값 그룹 식별자 및 집계 디자인 식별자를 포함합니다. 집계 디자인이 아직 없으면 오류가 발생합니다.

디자인 프로세스 제어

DesignAggregations 명령의 다음 속성을 사용하여 집계 디자인에 대한 집계를 정의하는 데 사용되는 알고리즘을 제어할 수 있습니다.

  • Steps 속성은 DesignAggregations 명령이 클라이언트 애플리케이션에 제어를 반환하기 전에 수행해야 하는 반복 횟수를 결정합니다.

  • Time 속성은 DesignAggregations 명령이 클라이언트 애플리케이션에 컨트롤을 반환하기 전에 수행해야 하는 시간(밀리초)을 결정합니다.

  • Optimization 속성은 DesignAggregations 명령이 달성해야 하는 성능 개선의 예상 비율을 결정합니다. 집계를 반복적으로 디자인할 경우 첫 번째 명령에서만 이 속성을 보내면 됩니다.

  • Storage 속성은 DesignAggregations 명령에서 사용되는 디스크 스토리지의 예상 크기(바이트)를 결정합니다. 집계를 반복적으로 디자인할 경우 첫 번째 명령에서만 이 속성을 보내면 됩니다.

  • Materialize 속성은 DesignAggregations 명령이 디자인 프로세스 중에 정의된 집계를 만들어야 하는지 여부를 결정합니다. 집계를 반복적으로 디자인할 경우 디자인된 집계를 저장할 준비가 될 때까지 이 속성을 false로 설정해야 합니다. 이 속성을 true로 설정하면 현재 디자인 프로세스가 종료되고 정의된 집계가 지정된 집계 디자인에 추가됩니다.

쿼리 지정

DesignAggregations 명령은 쿼리 속성에 하나 이상의 쿼리 요소를 포함하여 사용량 기반 최적화 명령을 지원 합니다 . Querys 속성에는 하나 이상의 쿼리 요소가 포함될 수 있습니다. Querys 속성에 쿼리 요소가 없는 경우 Object 요소에 지정된 집계 디자인은 일반적인 집계 집합을 포함하는 기본 구조를 사용합니다. 이 일반적인 집계 집합은 DesignAggregations 명령의 최적화스토리지 속성에 지정된 조건을 충족하도록 설계되었습니다.

Query 요소는 가장 자주 사용하는 쿼리를 대상으로 하는 집계를 정의하기 위해 디자인 프로세스에서 사용하는 목표 쿼리를 나타냅니다. 사용자 고유의 목표 쿼리를 지정하거나 쿼리 로그에서 Microsoft SQL Server SQL Server Analysis Services 인스턴스에 저장된 정보를 사용하여 가장 자주 사용되는 쿼리에 대한 정보를 검색할 수 있습니다. Usage-Based 최적화 마법사는 쿼리 로그를 사용하여 DesignAggregations 명령을 보낼 때 시간, 사용량 또는 지정된 사용자를 기반으로 목표 쿼리를 검색합니다. 자세한 내용은 사용량 기반 최적화 마법사 F1 도움말을 참조하세요.

집계를 반복적으로 디자인하는 경우 SQL Server Analysis Services 인스턴스가 이러한 목표 쿼리를 저장하고 후속 DesignAggregations 명령 중에 이러한 쿼리를 사용하기 때문에 첫 번째 DesignAggregations 명령에서 목표 쿼리만 전달하면 됩니다. 반복 프로세스의 첫 번째 DesignAggregations 명령에서 목표 쿼리를 전달하면 DesignAggregations 속성에 목표 쿼리를 포함하는 모든 후속 Queries 명령은 오류를 생성합니다.

Query 요소에는 다음 인수를 포함하는 쉼표로 구분된 값이 포함됩니다.

Frequency,Dataset[,Dataset...]

빈도
쿼리가 이전에 실행된 횟수에 해당하는 가중 요인입니다. Query 요소가 새 쿼리를 나타내는 경우 Frequency 값은 쿼리를 평가하기 위해 디자인 프로세스에 사용되는 가중 요인을 나타냅니다. 빈도 값이 증가하면서 디자인 프로세스 중 쿼리에 적용되는 가중치도 증가합니다.

데이터 세트
쿼리에 포함될 차원 특성을 지정하는 숫자 문자열입니다. 이 문자열에는 차원의 특성 수와 같은 문자 수가 있어야 합니다. 영(0)은 지정된 서수 위치의 특성이 지정된 차원의 쿼리에 포함되지 않음을 나타내고 일(1)은 지정된 서수 위치의 특성이 지정된 차원의 쿼리에 포함됨을 나타냅니다.

예를 들어 문자열 "011"은 세 개의 특성이 있는 차원을 사용하는 쿼리를 참조하며 여기서 두 번째 및 세 번째 특성이 쿼리에 포함됩니다.

참고

일부 특성은 데이터 세트에서 고려되지 않습니다. 제외된 특성에 대한 자세한 내용은 쿼리 요소(XMLA)를 참조하세요.

집계 디자인을 포함하는 측정값 그룹의 각 차원은 Query 요소의 Dataset 값으로 나타납니다. Dataset 값의 순서는 측정값 그룹에 포함된 차원의 순서와 일치해야 합니다.

반복 또는 일괄 처리를 사용하여 집계 디자인

디자인 프로세스에 필요한 상호 작용에 따라 DesignAggregations 명령을 반복 프로세스 또는 일괄 처리 프로세스의 일부로 사용할 수 있습니다.

반복 처리를 사용하여 집계 디자인

집계를 반복적으로 디자인하려면 디자인 프로세스에 대한 세부 제어를 제공하기 위해 여러 DesignAggregations 명령을 보냅니다. 집계 디자인 마법사에서는 이와 동일한 방법을 사용하여 디자인 프로세스를 세부적으로 제어할 수 있습니다. 자세한 내용은 집계 디자인 마법사 F1 도움말을 참조하세요.

참고

집계를 반복적으로 디자인하려면 명시적 세션이 필요합니다. 명시적 세션에 대한 자세한 내용은 XMLA(연결 및 세션 관리)를 참조하세요.

반복 프로세스를 시작하려면 먼저 다음 정보가 포함된 DesignAggregations 명령을 보냅니다.

  • 전체 디자인 프로세스를 대상으로 하는 스토리지최적화 속성 값입니다.

  • 디자인 프로세스의 첫 번째 단계가 제한되는 단계시간 속성 값입니다.

  • 사용량 기반 최적화를 원하는 경우 전체 디자인 프로세스가 대상으로 지정된 목표 쿼리를 포함하는 쿼리 속성입니다.

  • Materialize 속성이 false로 설정됩니다. 이 속성을 false로 설정하면 디자인 프로세스에서는 명령이 완료되었을 때 정의된 집계를 집계 디자인에 저장하지 않습니다.

첫 번째 DesignAggregations 명령이 완료되면 이 명령은 디자인 통계가 포함된 행 집합을 반환합니다. 이러한 디자인 통계를 평가하여 디자인 프로세스를 계속할지 여부나 디자인 프로세스가 완료되었는지 여부를 결정할 수 있습니다. 프로세스를 계속 진행해야 하는 경우 디자인 프로세스의 이 단계가 제한되는 단계시간 값이 포함된 또 다른 DesignAggregations 명령을 보냅니다. 결과 통계를 평가한 다음 디자인 프로세스를 계속할지 여부를 결정합니다. DesignAggregations 명령을 보내고 결과를 평가하는 이 반복 프로세스는 목표에 도달하고 적절한 집계 집합을 정의할 때까지 계속됩니다.

원하는 집계 집합에 도달하면 최종 DesignAggregations 명령을 하나 보냅니다. 이 최종 DesignAggregations 명령에는 Steps 속성이 1로 설정되고 Materialize 속성이 true로 설정되어야 합니다. 이러한 설정을 사용하여 이 최종 DesignAggregations 명령은 디자인 프로세스를 완료하고 정의된 집계를 집계 디자인에 저장합니다.

일괄 처리를 사용하여 집계 디자인

전체 디자인 프로세스가 대상으로 지정되고 제한되는 단계, 시간, 스토리지최적화 속성 값이 포함된 단일 DesignAggregations 명령을 전송하여 일괄 처리 프로세스에서 집계를 디자인할 수도 있습니다. 사용량 기반 최적화를 원하는 경우 디자인 프로세스가 대상으로 지정된 목표 쿼리도 쿼리 속성에 포함되어야 합니다. 또한 Materialize 속성이 true로 설정되어 있는지 확인하여 명령이 완료되면 디자인 프로세스에서 정의된 집계를 집계 디자인에 저장합니다.

암시적 세션이나 명시적 세션에서 일괄 처리를 사용하여 집계를 디자인할 수 있습니다. 암시적 및 명시적 세션에 대한 자세한 내용은 XMLA(연결 및 세션 관리)를 참조하세요.

디자인 통계 반환

DesignAggregations 명령이 클라이언트 애플리케이션에 컨트롤을 반환하는 경우 명령은 명령에 대한 디자인 통계를 나타내는 단일 행이 포함된 행 집합을 반환합니다. 행 집합에는 다음 표에 나열된 열이 들어 있습니다.

데이터 형식 Description
단계 정수 클라이언트 애플리케이션에 제어를 반환하기 전에 해당 명령에서 수행하는 단계 수입니다.
Time 정수(Long) 클라이언트 애플리케이션에 제어를 반환하기 전에 해당 명령에서 소요되는 시간(밀리초)입니다.
Optimization Double 클라이언트 애플리케이션에 제어를 반환하기 전에 해당 명령에 의해 달성되는 예상 성능 향상률입니다.
Storage 정수(Long) 클라이언트 애플리케이션에 제어를 반환하기 전에 해당 명령에서 사용하는 예상 바이트 수입니다.
집계 정수(Long) 클라이언트 애플리케이션에 제어를 반환하기 전에 해당 명령에 의해 정의되는 집계 수입니다.
LastStep 부울 행 집합의 데이터가 디자인 프로세스의 마지막 단계를 나타내는지 여부를 나타냅니다. 명령의 Materialize 속성이 true로 설정된 경우 이 열의 값은 true로 설정됩니다.

반복 및 일괄 처리 디자인 모두에서 각 DesignAggregations 명령 후에 반환되는 행 집합에 포함된 디자인 통계를 사용할 수 있습니다. 반복 디자인에서는 디자인 통계를 사용하여 진행률을 확인하고 표시할 수 있습니다. 일괄 처리로 집계를 디자인할 때는 디자인 통계를 사용하여 해당 명령으로 만들어진 집계 수를 확인할 수 있습니다.

참고 항목

Analysis Services에서 XMLA를 사용하여 개발