在 Excel 活頁簿中定義決策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   os   使用   sp   

要在 Excel 中編寫規則,您只需在表中編寫規則,並使用 Oracle Policy Modeling 樣式標識儲存格中的資訊類型,

以便這些規則可以編譯並在 Oracle Determinations Engine 中使用。在文檔中可以建立任意數量的規則工作表。

 

瞭解用於規則表的樣式

打算在 Oracle Policy Modeling 中編譯的 Excel 規則需要用隨 Oracle Policy Modeling Excel 文件範本一起提供的樣式標記。以下樣式用於編寫規則:

標題儲存格為可選。同樣,儲存格順序無關緊要,因為每種樣式都具有唯一性 - 只要必要樣式用於有效儲存格內容。

注意:

 a.無論工作表上的聲明順序是什麼,處理順序都是“全域實體”、“實體”,然後是任何屬性。這可以保證屬性出現在正確的實體中。

 b.要將儲存格的格式定義為貨幣值,不要使用 Excel 格式工具列上的按鈕 - 而是轉至格式 | 儲存格並在數字選項卡上選擇貨幣

 c.在 Microsoft Excel 中處理數字、貨幣、日期和時間時,電腦的地區設定與規則庫項目的地區應一致。這是因

    為 Microsoft Excel 使用地區設定中的模板定義資料類型的格式。

如果您使用文字屬性,該文字屬性的值可以放在引號內,也可以不放在引號內,處理方法都相同。如果要在規則表中使用文本

函數,需要用圓括弧將函數文本括起來。

 

在 Excel 中建立規則表

當您向項目中添加 Excel 文檔時,此文檔的規則表工作表將包含如下所示的規則模板:

要在 Excel 中編寫包含單個條件和單個結論的簡單規則,請執行以下步驟。在此樣本中,我們將根據人員的國籍推

斷出其是哪國人。註:變數屬性應先在屬性檔案中聲明才能在 Excel 中使用。(在規則中使用布爾值屬性之前不必

聲明這些屬性。)在此樣本中,文本變數“國籍”和“哪國人”已經在項目的屬性檔案中聲明。

 a.將第二列中的文本條件替換為“國籍”。此儲存格已採用正確的條件標題樣式。因為我們將只有一組條件,所以您可以刪除第一個條件列。

 b.將文本結論替換為“哪國人”。此儲存格已採用正確的結論標題樣式。因為我們將只有一組結論,所以您可以刪除另一個結論列。

 c.在“國籍”儲存格下面的儲存格中鍵入“美國”。使用 Tab 鍵轉至下一個儲存格(“哪國人”儲存格下面的儲存格)並鍵入“美國人”。

    這些儲存格已經採用正確的樣式:分別為條件結論。刪除隨後兩行,因為這些行不會用到。

   1.在下面的行中,輸入另一個條件“蘇格蘭”,關聯的結論為“蘇格蘭人”。按照此方法處理下一行,條件為“日本”,結論為“日本人”。

   2.在否則條件旁邊的儲存格中鍵入“不確定”。此操作將應用替代結論“不確定”。

規則表應如下所示:

當編譯規則時,在 Excel 中編寫的決策表將由 Oracle Policy Modeling 轉換成內部產生的規

則表。上述表將在 Oracle Policy Modeling 中建立以下規則 (xgen)。(要查看此規則,可

以在 OPM 的項目資源管理員中用按右鍵規則文檔,然後選擇開啟規則瀏覽器。)

 

為同一組條件證明多個屬性

在 Excel 中僅使用一個表,就可以為同一組條件證明多個屬性(與在 Word 中需要多個規則表不同)。

假設已聲明以下變數,文本變數“國籍”、“哪國人”和“省/地區的貨幣”,可以編寫以下規則表:

 

使用多個條件證明同一組結論

您可以在 Excel 中為特定結論指定多個條件,在合適的情況下合并結論儲存格以影響規則的求值方式。

例如,您可能要為成人和兒童的不同組合確定合適的門票類型。如果有如下變數:

可以編寫以下規則表:

在 Oracle Policy Modeling 中為此表產生的規則如下所示:

如果我們不想測試結論儲存格的屬性值,則可以將條件儲存格留空。在我們的樣本中,我們可以

決定,兩個成人帶有兒童時可以購買“家庭”門票進入,三個大人無論是否帶有兒童,都可以購買“家庭”門票。

這樣可以簡化邏輯,產生如下規則:

如果有多個條件行證明同一結論,我們還可以合并結論值的儲存格。

這樣可以簡化 Excel 規則表的外觀,強調為門票推斷的值在多個可能方案中相同。但是,Oracle Policy Modeling 解

釋規則邏輯的方式也會隨之改變。根據 Excel 規則表產生的內部規則表對於每個 Excel 結論儲存格包括一行。

這意味著,產生的規則表中並非存在兩行來證明同一結論值(按從上到下的順序求值),而是只存在一行來證明

結論值,同時具有多個可按任何順序求值的選項。規則需要考慮到有些條件值為未知時這很有用。

提示:要查看使用合并條件和結論儲存格的完整規則庫的樣本,請開啟並運行保險欺詐得分樣本規

則庫項目,此項目位於 Oracle Policy Modeling 安裝資料夾中的“樣本”檔案夾下。

 

允許規則條件按任何順序求值和處理缺少值

Oracle Policy Modeling 根據 Excel 中的決策表產生的內部規則表從上到下逐行求值。如果表的第一行無法

求值(即如果有些條件值未知),即使表中後面的行因為其所有條件值完全已知而可以求值,規則表整體的

求值也不會超過第一行。
在某些情況下,這不是規則求值的最有用方式。如果通過多種方式證明一個結論,您可以在所有不同

條件行中合并單個結論儲存格。然後,Oracle Policy Modeling 將允許任何這些條件行以任何順序證明結論值。

例如,在下面的規則儲存格中,我們希望兩行中的任一行能夠證明結論。

採用當前規則表布局時,在 Oracle Policy Modeling 產生的規則中,對於 Excel 規則中的每行

都有單獨的行。因為規則表從上到下求值,所以這意味著,即使我們知道人員 16 歲並因此有權獲

得青年福利金,規則表也在我們知道人員的職業後才能推斷出結果並對第一行進行求值。

但是,如果我們合并包含適用於這兩行的結論的儲存格,則 Oracle Policy Modeling 產生的內部規則

會將這些行與單個規則表行中的“或者”條件合并,而不是上面產生的兩個單獨規則表行。

這個新結構允許按任何順序對證明結論的條件進行求值,因此現在即使第一行的值未知,第二行也允許對規則進行求值。

 

編寫決策應用於一系列數字或日期的比較類型規則

對於非文本條件,決策可能應用於一系列數字或日期,而不是特定數字或日期。

簡單的例子就是將特定日期範圍的應納稅所得額映射至稅率:

您可能還要對一個屬性進行多種比較,舉例如下:

 

根據規則表的應用起始日期拆分規則表

表可以拆分在同一檔案的多個表上,以考慮從特定日期開始應用的定期表更新。為此,

可插入主表對各表區分優先次序。通過引用在表的選項卡中指定的表名稱來區分優先次序。

例如,您可能具有:

這些表的邏輯將在編譯時間合并,因此不會導致多重證明屬性。主表使用標準規則條件和結論樣式,

但有一個標題為“應用表”的結論列採用結論標題樣式。因此請注意,文本“應用表”不能用作

標準規則表中的欄位標題。

在此樣本中,您有三個包含以下規則表的其他工作表。請注意,必鬚根據“應用表”列中提

供的名稱給工作表加標題(區分大小寫)。

將在 Oracle Policy Modeling 中建立以下規則:

提示:要查看使用“應用表”來對隨時間變化的屬性進行推理的完整規則庫的樣本,請開啟

並運行保險欺詐得分樣本規則庫項目,此項目位於 Oracle Policy Modeling 安裝資料夾中的“樣本”檔案夾下。

 

在 Excel 規則表中使用實體屬性

您可以證明 Excel 規則表中的實體層屬性,但是,表中的所有結論屬性都必須在同一實體中。規則

表中的條件屬性可以與結論在同一實體中,或者可以引用結論實體的內含項目關聯性中的任何實體。

例如,以下規則表使用實體“孩子”和全域實體中的條件屬性推斷“寵物”實體中的結論屬性,

實體“孩子”和全域實體都在其內含項目關聯性中,如下所示:

在具有多數實體函數的條件儲存格中也可以使用實體層屬性。例如,以下規則使用執行個體總數函數根據孩子擁有的寵物數量設定她的零用錢。

註:在 Excel 中不能這樣使用的實體函數是那些處理多個實體的函數:範圍滿足條件、範圍內所有都滿足

       條件、範圍記憶體在一個滿足條件、是集合的成員、不是集合的成員、執行個體等於、執行個體不等於。

提示:要查看使用實體層屬性、函數和基於實體執行個體的計算的完整規則庫的樣本,請開啟並運行保

        險欺詐得分樣本規則庫項目,此項目位於 Oracle Policy Modeling 安裝資料夾中的“樣本”檔案夾下。

 

在 Excel 規則中證明文字屬性

在 Excel 規則中證明文字屬性時,您需要用括弧將屬性文本括起來,以便編譯器將其識別為屬性。

例如,如果您有以下聲明:

在規則表中推斷出文字屬性的文本時,您將需要用括弧將其括起來。例如:

如果未在規則中的這些文字屬性前後加上括弧,這些屬性將無法識別,產生的規則將推斷出字面字串。

在推斷文字屬性的特定值時,不必將其用括弧括起來(請注意,您可以將該文字屬性的值放在引號內,也可以不放在引號內,處理方法都相同)。

 

========================================================

More reading,and english is important.

I‘m Hongten

 

E | [email protected]  B | http://www.cnblogs.com/hongten

========================================================

在 Excel 活頁簿中定義決策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.