7.交叉決策表

2019-09-19 11:42 更新

7.交叉決策表

簡(jiǎn)介

交叉決策表又叫決策矩陣,是URule Pro中提供的一種特殊類型的決策表。

與普通決策表相比,交叉決策表的條件由縱向和橫向兩個(gè)維度決定,而普通決策表的條件只是由縱向維度決定;但在普通決策表的動(dòng)作部分可以是三種類型,分別是賦值、輸出和執(zhí)行方式,而在交叉決策表中動(dòng)作部分就是縱向和橫向兩個(gè)維度交叉后的單元格的值,一般來(lái)說(shuō),這種交叉后單元格的值都是賦給某個(gè)變量或參數(shù),所以交叉決策表的動(dòng)作基本就一個(gè),那就是賦值。

下面的這張圖中展示了交叉決策表的整體結(jié)構(gòu)。

在上圖中,紫色單元格中5的值由橫向和縱向兩個(gè)維度的上箭頭對(duì)應(yīng)的條件決定,只有這兩個(gè)維度上的條件都滿足了,才會(huì)執(zhí)行將這個(gè)單元格里的值賦給“客戶.等級(jí)”這個(gè)變量。

相比普通的決策表,交叉決策表是從橫向和縱向兩個(gè)維度來(lái)唯一確定一個(gè)值,所以它更加簡(jiǎn)單,也更為直觀,相同類型的交叉決策表實(shí)現(xiàn)的交叉業(yè)務(wù)規(guī)則,如果換成普通決策表來(lái)定義,那將大大增加定義的復(fù)雜度。

使用交叉決策表

打開(kāi)URule Pro的控制臺(tái),在項(xiàng)目的“決策表”節(jié)點(diǎn)下點(diǎn)擊右鍵菜單,選擇“添加交叉決策表”項(xiàng),輸入正確的名稱,即可創(chuàng)建一個(gè)新的交叉決策表文件,如下圖所示:

接下來(lái),我們需要導(dǎo)入要使用到的在項(xiàng)目中已定義好的變量、參數(shù)、常量或動(dòng)作庫(kù)文件,這點(diǎn)和前面介紹的規(guī)則集、普通決策表的用法一致,然后就可以來(lái)編輯我們的交叉決策表文件。

首先,對(duì)于橫向和縱向的條件部分,在定義時(shí)需要首先選擇橫向一行以及縱向一列條件所對(duì)應(yīng)的對(duì)應(yīng)屬性,如下圖所示:

屬性選擇完成后,就可以為條件在單元格上點(diǎn)擊右鍵菜單,為條件單元格配置具體的條件,如果需要增加行列,也是通過(guò)在條件單元格里點(diǎn)擊右鍵菜單,添加對(duì)應(yīng)的條件行列即可。如下圖所示:

橫向和縱向的條件配置完成后,接下來(lái)就可以配置交叉單元格的值了。交叉單元格的值配置方式比較簡(jiǎn)單,點(diǎn)擊單元格中“無(wú)”在彈出的菜單里選擇對(duì)應(yīng)的配置項(xiàng),完成配置即可,這點(diǎn)與之前介紹的向?qū)揭?guī)則完全一致。

如果某個(gè)條件或交叉單元格的值不再需要了,那么可以在單元格里點(diǎn)擊右鍵,選擇清空即可。

交叉決策表的屬性與普通決策表的屬性完全一樣,所起到的作用也一致,這里不再贅述。

最后,還有一個(gè)重要的屬性需要配置,那就是左上方的“選擇交叉單元格值要賦予的對(duì)象”,其作用就是將橫向和縱向兩個(gè)維度的條件滿足后的交叉單元格的值賦予的具體對(duì)象,這里我們可以選擇具體的變量或參數(shù),如下圖所示:

在交叉決策有編輯器上方的工具欄里,同樣有“導(dǎo)入Excel”按鈕,說(shuō)明交叉決策表和普通決策表一樣支持將外部Excel里的數(shù)據(jù)導(dǎo)入到當(dāng)前交叉決策表中,下面我們就來(lái)看看如何導(dǎo)入。

導(dǎo)入Excel中定義的交叉決策表

交叉決策表支持從外部Excel中導(dǎo)入。Excel可以按照URule Pro中的要求定義好交叉決策表,然后就可以直接導(dǎo)入,這樣可以大大減輕交叉決策表定義的工作量,大幅提高工作效率。比如下面的Excel文件(點(diǎn)擊此處下載此Excel文件):

導(dǎo)入后的效果如下:

可以看到,Excel在定義交叉決策表時(shí)同樣支持橫向和縱向兩個(gè)維度多層條件配置,這與交叉決策表功能一致。在Excel中定義要導(dǎo)入到URule Pro中的交叉決策表時(shí)需要注意以下幾點(diǎn):

  • 交叉表左上角單元格一定要合并起來(lái),否則將出現(xiàn)錯(cuò)誤,如下圖所示:

左上角單元格合并后,可以輸入具體內(nèi)容,這些內(nèi)容在導(dǎo)入到后就變成交叉表的表頭,在導(dǎo)入時(shí),URule Pro就是根據(jù)這里的單元格合并情況來(lái)區(qū)分橫縱向條件的,所以正確的合并左上角的交叉單元格是定義合法交叉決策表的先決條件。

  • 對(duì)于橫縱向條件的第一個(gè)單元格里,要為這個(gè)單元格添加批注,用以說(shuō)明該條件行或列所綁定的變量或參數(shù)對(duì)象,如下圖所示:

需要注意的是,在定義要綁定的參數(shù)或具體變量時(shí),一定要保證該參數(shù)或具體變量能在當(dāng)前項(xiàng)目中找到,否則將導(dǎo)入失敗。比如上圖中的“會(huì)員.是否有房”就是一個(gè)變量,這個(gè)變量就需要在項(xiàng)目中定義好,如下圖所示:

  • 在定義橫向或縱向條件單元格里具體內(nèi)容時(shí),可不寫等于號(hào);比如上圖中的橫向列條件都沒(méi)有比較符,所以就表示等于。需要特別指出的是,多條件不支持括號(hào),不能用括號(hào)把多個(gè)條件連接。

  • 對(duì)于橫向及縱向條件交叉后單元格的值只支持字符串、數(shù)字之類簡(jiǎn)單值,不支持引用別的參數(shù)、變量或調(diào)用方法等復(fù)雜類型的值。

如果我們是用決策表來(lái)進(jìn)行賦值操作,同時(shí)這個(gè)決策表的限制條件又比較多,這時(shí)就比較適合采用URule Pro中提供的交叉決策表來(lái)實(shí)現(xiàn),因?yàn)槠鋸臋M向和縱向兩個(gè)維度來(lái)進(jìn)行條件限制,所以可以大大簡(jiǎn)化決策表的配置,同時(shí)配合外部的Excel導(dǎo)入功能,可顯著提高交叉決策表的配置效率。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)