瞭解模型和規則集環境定義

如果您要建立大量規則,則可以使用模型和規則集環境定義來為維度定義預設成員選擇,這些維度將對模型或規則集中的所有規則使用相同成員。這樣,可避免每次在規則中使用維度時,都必須為維度選取相同成員。

讓我們思考一個範例,使用隨 Enterprise Profitability and Cost Management 提供的 BksML50 範例應用程式。除了 Enterprise Profitability and Cost Management 中所需的 Entity 和 Account 維度之外,範例應用程式還包含 Customer、Activity、Driver 和Product 自訂維度。因此,對於在範例應用程式中建立的每個規則,您必須為實體、科目、客戶、活動、動因和產品選取成員。請參閱建立規則時的維度和成員需求

對於此範例,我們將設定模型和規則集如下:

  • 模型:10 實際值配置程序

  • 規則集:入住費用配置

首先設定 10 實際值配置程序模型。在此範例中,我們可以設定模型環境定義,以便為任何 Entity、Account、Customer、Activity、Driver 和 Product 維度選取預設成員。

「建立模型」畫面,內含顯示在下拉清單中的實體、科目、客戶、活動、動因和產品

當您考慮將要執行的計算類型時,請想想將計算範圍縮小到任何這些維度的特定成員是否有意義。

在此範例中,配置或自訂計算將在某個時候影響所有活動、客戶、產品、實體和多個科目。這樣一來還剩下 Driver 維度。假設動因只有一個成員,並且只有一個規則使用該成員。由於動因只在一個規則中使用,因此透過建立定義 Driver 維度預設選擇的模型環境定義,可以在模型設定程序中節省自己的時間。

模型環境定義,其中已選取動因

由於我們沒有將實際的資料庫成員指派給 Driver 維度,因此我們將選取 NoDriver 作為預設成員選擇。NoDriver 是一個成員,它滿足了每個維度都必須有一個成員的需求,即使規則中未使用該維度。(建立 Driver 維度時,已設定 NoDriver 成員並將其新增至 Driver 自訂維度)。

此時,我們的環境定義選擇是:

Excel 試算表,顯示已為模型環境定義選取無動因

下一步是建立「入住費用配置」規則集。在此規則集中,我們想要使用在建立 10 實際值配置程序模型時定義的模型環境定義,其中我們將 Driver 維度設為 NoDriver。為此,我們將在建立規則集頁面上的定義頁籤中,選取使用模型環境定義

入住費用配置的建立規則集頁面,其中已選取「使用模型環境定義」

除了使用模型環境定義之外,我們還可以建立規則集環境定義,來為任何 Entity、Account、Customer、Activity 和 Product 維度定義預設成員。(請注意,Driver 維度無法在規則集環境定義中選取。這是因為我們啟用了模型環境定義,該環境定義已為 Driver 維度定義 NoDriver。在模型環境定義中定義的任何維度都無法在規則集環境定義中選取。

「建立規則集」畫面,內含顯示在下拉清單中的實體、科目、客戶、活動和產品

由於我們將為「入住費用配置」規則集建立規則,因此不會移動 Activity、Product 或 Customer 維度中的資料,但會移動 Entity 和 Account 維度中的資料。由於 Activity、Product 和 Customer 維度不適用於我們將在規則集中建立的規則,因此我們會將這些維度的規則集環境定義設為無活動無客戶無產品

無活動、無客戶、無產品的規則集環境定義

正如我們對模型環境定義中定義的 NoDriver 選擇所做的那樣,我們將指派這些 "No<dimname>" 成員,以滿足每個維度都必須有一個成員的需求,即使規則中並不適用該維度。在規則集環境定義中進行這些選擇表示您不須在規則集中建立的任何新規則中,為這些維度選取成員。

此時,我們的環境定義選擇是:

Excel 試算表中顯示的規則環境定義維度選擇

現在,我們已準備好在「入住費用配置」規則集中建立規則。對於在此規則集中建立的每個規則,我們將選取使用規則集環境定義

用於建立規則的選項,其中已選取「使用規則集環境定義」

請記住,此範例中的規則集環境定義包含 Activity、Customer 和 Product 維度。此外,規則集也使用模型環境定義,該環境定義為 Driver 維度設定了預設值。因此,當我們進入規則層級的定義畫面時,只會看到為實體和科目選取成員的選項。

「建立配置規則」頁面,其中顯示實體和科目

「建立自訂規則」頁面,其中顯示實體和科目

此時,我們的環境定義選擇是:

Excel 試算表中顯示的規則維度選擇

如果您要建立不套用「模型環境定義」或「規則集環境定義」的規則,則可以停用這些選擇。在規則層級,您可以透過取消選取使用規則集環境定義來處理例外。在規則層級,您可以透過取消選取使用模型環境定義來處理例外。請注意,由於規則集環境定義也包含模型環境定義,因此如果取消選取使用規則集環境定義,則也會取消選取使用模型環境定義

在我們的範例中,取消選取使用規則集環境定義會導致應用程式中的所有維度都顯示在配置規則的來源/目的地頁籤和自訂規則的目標頁籤中。具體而言,除了 Entity 和 Account 維度之外,現在還會顯示規則集環境定義中的 Activity、Customer 和Product 維度,以及顯示模型環境定義中的 Driver 維度。

建立配置規則來源/目的地頁籤,其中顯示所有維度

建立自訂規則目標頁籤,其中顯示所有維度

現在,讓我們思考一下,如果在 BksML50 範例應用程式中設定規則,但沒有定義模型環境定義和規則集環境定義,會發生什麼情況。每個規則仍需要為配置規則中的來源和目的地或自訂規則中的目標所定義的所有六個維度。如果您未定義模型和規則集環境定義,則需要為所建立每個規則的所有維度手動選取成員。如果您的規則集包含 200 個規則,並且所有規則都使用相同的維度,則在規則集環境定義中為維度定義成員,會比在定義每個規則時選取成員更有效。