많은 수의 규칙을 생성하는 경우 모델 및 규칙 세트 컨텍스트를 사용하여 모델 또는 규칙 세트의 모든 규칙에 대해 동일한 멤버를 사용할 차원의 기본 멤버 선택을 정의할 수 있습니다. 이렇게 하면 규칙에서 특정 차원이 사용될 때마다 해당 차원에 대해 동일한 멤버를 선택할 필요가 없습니다.
Enterprise Profitability and Cost Management와 함께 제공되는 BksML50 샘플 애플리케이션을 사용하는 예를 살펴보겠습니다. Enterprise Profitability and Cost Management에 필요한 엔티티 및 계정 차원 외에도, 고객, 활동, 드라이버, 제품 사용자정의 차원이 샘플 애플리케이션에 포함되어 있습니다. 따라서 샘플 애플리케이션에서 생성하는 규칙마다 엔티티, 계정, 고객, 활동, 드라이버, 제품 멤버를 선택해야 합니다. 규칙 생성 시 고려할 차원 및 멤버 요구사항을 참조하십시오.
이 예에서는 다음과 같이 모델 및 규칙 세트를 설정합니다.
모델: 10개의 실제 할당 프로세스
규칙 세트: 점유 비용 할당
10개의 실제 할당 프로세스 모델을 설정하여 시작합니다. 이 예에서는 모델 컨텍스트를 설정하여 엔티티, 계정, 고객, 활동, 드라이버, 제품 차원의 기본 멤버를 선택할 수 있습니다.
수행할 계산 유형을 고려할 때 이러한 차원의 특정 멤버로 계산 범위를 좁히는 것이 적절한지 생각해 보십시오.
이 예에서는 할당 또는 사용자정의 계산이 일정 시점에 모든 활동, 고객, 제품, 엔티티 및 여러 계정에 영향을 줍니다. 이렇게 하면 드라이버 차원이 남게 됩니다. 드라이버에 멤버가 하나만 있고 해당 멤버를 사용하는 규칙이 하나만 있다고 가정해 보겠습니다. 드라이버는 하나의 규칙에서만 사용되므로 드라이버 차원의 기본 선택을 정의하는 모델 컨텍스트를 생성하여 모델링 프로세스에서 시간을 절약할 수 있습니다.
실제 데이터베이스 멤버를 드라이버 차원에 지정하지 않으므로 기본 멤버 선택에 대해 NoDriver를 선택합니다. NoDriver는 차원이 규칙에서 사용되지 않는 경우에도 모든 차원에 멤버가 있어야 한다는 요구사항을 충족하는 멤버입니다. NoDriver 멤버는 드라이버 차원이 생성될 때 설정되어 드라이버 사용자정의 차원에 추가되었습니다.
이 시점의 컨텍스트 선택항목은 다음과 같습니다.
다음 단계는 점유 비용 할당 규칙 세트 생성입니다. 이 규칙 세트에서는 10개의 실제 할당 프로세스 모델을 생성할 때 정의한 모델 컨텍스트를 사용하려고 합니다. 해당 모델의 드라이버 차원은 NoDriver로 설정했습니다. 이를 위해 규칙 세트 생성 페이지의 정의 탭에서 모델 컨텍스트 사용을 선택합니다.
모델 컨텍스트를 사용하는 것 외에도 엔티티, 계정, 고객, 활동, 제품 차원의 기본 멤버를 정의하는 규칙 세트 컨텍스트를 생성할 수 있습니다. (드라이버 차원은 규칙 세트 컨텍스트에서 선택할 수 없습니다. 드라이버 차원에 대해 NoDriver가 정의된 모델 컨텍스트를 사용으로 설정했기 때문입니다. 모델 컨텍스트에 정의된 차원은 규칙 세트 컨텍스트에서 선택할 수 없습니다.)
점유 비용 할당 규칙 세트에 대한 규칙을 생성하는 중이므로 활동, 제품 또는 고객 차원의 데이터는 이동하지 않지만 엔티티 및 계정 차원의 데이터는 이동합니다. 활동, 제품, 고객 차원이 규칙 세트에 생성하는 규칙에 적용되지 않으므로 해당 차원에 대해 규칙 세트 컨텍스트를 활동 없음, 고객 없음, 제품 없음으로 설정합니다.
모델 컨텍스트에서 정의한 NoDriver 선택항목에서와 마찬가지로, 이러한 "No<dimname>" 멤버를 지정하여 차원이 규칙에서 사용되지 않는 경우에도 모든 차원에 멤버가 있어야 한다는 요구사항을 충족합니다. 규칙 세트 컨텍스트에서 이러한 항목을 선택하면 규칙 세트에 생성하는 새 규칙의 해당 차원에 대한 멤버를 선택할 필요가 없습니다.
이 시점의 컨텍스트 선택항목은 다음과 같습니다.
이제 점유 비용 할당 규칙 세트에 규칙을 생성할 준비가 되었습니다. 이 규칙 세트에 생성하는 규칙마다 규칙 세트 컨텍스트 사용을 선택합니다.
이 예의 규칙 세트 컨텍스트에는 활동, 고객, 제품 차원이 포함되어 있습니다. 규칙 세트도 드라이버 차원에 대한 기본값을 설정하는 모델 컨텍스트를 사용합니다. 따라서 규칙 레벨에서 정의 화면이 표시되면 엔티티 및 계정에 대한 멤버를 선택하는 옵션만 표시됩니다.
이 시점의 컨텍스트 선택항목은 다음과 같습니다.
모델 컨텍스트 또는 규칙 세트 컨텍스트가 적용되지 않는 규칙을 생성하는 경우 이러한 선택항목을 사용 안함으로 설정할 수 있습니다. 규칙 레벨에서 규칙 세트 컨텍스트 사용을 선택 취소하여 예외를 처리합니다. 규칙 세트 레벨에서 모델 컨텍스트 사용을 선택 취소하여 예외를 처리합니다. 규칙 세트 컨텍스트에도 모델 컨텍스트가 포함되어 있으므로 규칙 세트 컨텍스트 사용을 선택 취소하는 경우 모델 컨텍스트 사용도 선택 취소합니다.
이 예에서 규칙 세트 컨텍스트 사용을 선택 취소하면 애플리케이션의 모든 차원이 할당 규칙의 소스/대상 탭 및 사용자정의 규칙의 타겟 탭에 표시됩니다. 특히, 엔티티 및 계정 차원 외에도 이제 규칙 세트 컨텍스트의 활동, 고객, 제품 차원이 표시되고 모델 컨텍스트의 드라이버 차원이 표시됩니다.
이제 BksML50 샘플 애플리케이션에서 규칙을 설정하고 모델 컨텍스트 및 규칙 세트 컨텍스트를 정의하지 않은 경우 어떻게 되는지 살펴보겠습니다. 각 규칙은 여전히 6개의 차원이 모두 할당 규칙의 소스 및 대상 또는 사용자정의 규칙의 타겟에 대해 정의되어야 합니다. 모델 및 규칙 세트 컨텍스트를 정의하지 않은 경우 생성하는 규칙마다 모든 차원의 멤버를 수동으로 선택해야 합니다. 규칙 세트에 200개의 규칙이 있고 모두 동일한 차원을 사용하는 경우 각 규칙을 정의할 때 선택하는 것보다 규칙 세트 컨텍스트에서 차원의 멤버를 정의하는 것이 더 효율적입니다.