複雜評分卡
對于普通(tōng)評分卡,它可(kě)以針對某個(gè)對象的一些(xiē)屬性值進行(xíng)評分,但(dàn)隻能針對是單個(gè)對象屬性進行(xíng)條件判斷,如果需要對多(duō)個(gè)對象屬性進行(xíng)條件疊加判斷,那(nà)麽普通(tōng)評分卡就實現不了,所以URule Pro提供了複雜評分卡,利用複雜評分卡,可(kě)以實現評分時(shí)多(duō)條件疊加判斷,進而使得(de)評分卡的功能更加的完善和(hé)強大(dà)。
複雜評分卡在定義時(shí)與普通(tōng)決策表有(yǒu)些(xiē)類型,其定義出的效果如下圖所示:
創建複雜評分卡
打開(kāi)URule Pro控制(zhì)台,在項目的“評分卡”節點上(shàng)點擊右鍵,在彈出的菜單裏選擇“添加複雜評分卡”,在彈出的窗口中輸入複雜評分卡名稱,就會(huì)創建一個(gè)新的空(kōng)白的複雜評分卡文件,如下圖所示:
在複雜評分卡的編輯器(qì)中,上(shàng)部是工具欄,和(hé)其它類型的規則編輯器(qì)一樣,工具欄裏可(kě)以導入當前項目中已定義好的要使用的常量、變量、參數(shù)或動作(zuò)庫文件;工具欄的下方,可(kě)以通(tōng)過點擊“添加屬性”鏈接,為(wèi)當前複雜評分卡添加相關屬性,這些(xiē)屬性與決策表或普通(tōng)評分卡裏完全一緻,其作(zuò)用也相同。再下方的表格就是具體(tǐ)的定義評分卡的表格。
可(kě)以看到,這樣表格與普通(tōng)決策表的表格類似,通(tōng)過一條加粗的灰黑(hēi)色的線将整個(gè)表格分為(wèi)左右兩個(gè)部分,左邊部分為(wèi)條件定義部分,右邊部分為(wèi)分值列及自定義列定義部分。
表格的下方,和(hé)普通(tōng)評分卡一樣,是得(de)分計(jì)算(suàn)方式以及得(de)分計(jì)算(suàn)好後賦值定義部分,隻是這裏的得(de)分計(jì)算(suàn)方式相比普通(tōng)評分卡少(shǎo)了”加權求和(hé)“項,這是因為(wèi)在複雜評分卡裏,因為(wèi)條件可(kě)能由多(duō)對象屬性疊加組成,所以無法添加權值功能,所以這裏在得(de)分計(jì)算(suàn)上(shàng)不支持加權求和(hé)方式,除此以外,其它皆與普通(tōng)評分卡完全一緻。
和(hé)其它類型的規則文件定義方式相同,我們需要首先導入要使用的相關庫文件,這裏導入之前定義好的包含”會(huì)員“的變量庫文件,導入後,在條件列頭上(shàng)點擊右鍵菜單就可(kě)以為(wèi)當前條件列選擇對應的對象,如下圖所示:
為(wèi)條件列選擇好當前列所屬的對象後,接下來(lái)就可(kě)以定義當前條件列下所有(yǒu)單元格中條件所使用的當前對象下的屬性,如下圖所示:
為(wèi)條件單元格定義好對象屬性後,就可(kě)以在這個(gè)單元格上(shàng)點右鍵,在彈出的菜單中選擇”配置條件“,即可(kě)為(wèi)當前單元格裏選擇的對象屬性配置相關條件,這點與普通(tōng)評分卡也是完全相同的,如下圖所示:
和(hé)普通(tōng)評分卡不同的地方在于,複雜評分卡的條件列可(kě)以有(yǒu)多(duō)列,可(kě)以在條件列列頭上(shàng)點擊右鍵菜單,通(tōng)過”插入條件列“項來(lái)增加條件列,對于每個(gè)條件列都可(kě)以選擇不同的對象與之綁定,每個(gè)條件列下條件單元格中又可(kě)以選擇對應的對象屬性,再配置相關的條件,這樣每個(gè)分值的條件計(jì)算(suàn)就可(kě)以形成多(duō)條件疊加效果,從而大(dà)大(dà)增加評分卡定義的靈活性,充分滿足業務需求。
下面是一張配置好的複雜評分卡示意圖:
從上(shàng)圖中可(kě)以看到,條件列有(yǒu)兩列,第一列與”會(huì)員“對象綁定,第二列與”訂單“對象綁定。
在會(huì)員列中,前四個(gè)單元格采用會(huì)員對象下的”年齡“屬性作(zuò)為(wèi)條件判斷對象,後兩個(gè)采用會(huì)員對象下的”性别“屬性作(zuò)為(wèi)條件判斷對象;在訂單列中,對應第一列的條件單元格,将每個(gè)第一列的條件單元格在第二列都拆分成兩個(gè)單元格,然後綁定訂單下的對象屬性進行(xíng)條件判斷;最後一列為(wèi)分值列,在這個(gè)列中每個(gè)分值單元格都與一行(xíng)條件對應。
如上(shàng)圖中紅色圓圈內(nèi)分值為(wèi)6的單元格所對應的條件就是會(huì)員對象的年齡屬性要大(dà)于或等于30并且小(xiǎo)于50,同時(shí)訂單的數(shù)量屬性要小(xiǎo)于10,這樣才會(huì)等到6分的分值。
在評分卡條件配置過程中,如果條件類似,可(kě)點擊右鍵菜單将條件單元格裏條件複制(zhì)下來(lái),然後在目标條件單元格選擇右鍵菜單裏粘貼即可(kě)快速将目标條件粘貼到當前單元格中,可(kě)實現條件的快速配置。
複雜評分卡彌補了普通(tōng)評分卡在條件判斷複雜度方面的不足,實際業務當中,要根據需求靈活選擇對應的評分卡工具。
從Excel中導入
複雜評分卡支持從Excel中導入,我們隻需要按要求在Excel中定義好具體(tǐ)的評分卡內(nèi)容,然後就可(kě)以直接将這個(gè)Excel導入到一個(gè)複雜評分卡當中。下圖是一個(gè)定義好的可(kě)以導入到複雜評分卡的Excel截圖, 點擊此處下載該Excel:
可(kě)以看到,在這個(gè)Excel當中,第一行(xíng)用于定義列頭,除最後一列外,前幾列定義的是評分卡條件列采用的變量分類名,比如上(shàng)圖中的“客戶”和(hé)“訂單”,這兩個(gè)對象要求我們必須預先在當前項目的某一個(gè)變量庫文件裏定義好,否則導入該Excel時(shí)會(huì)産生(shēng)錯誤。 最後一列的列頭名為(wèi)“分值”,這裏的“分值”是固定的,不能更改,這樣導入的時(shí)候引擎就會(huì)認為(wèi)該列是用于評分的列。
在條件列當中,每個(gè)單元格都對應一個(gè)條件,條件定義方式與導入決策表定義方式相同,如果是等于(==),那(nà)麽“==”是可(kě)以省略不寫的,這裏不再贅述。 如上(shàng)圖中的TRUE以及2,3,4等值;條件中對應的對象屬性名則是定義在當前單元格的備注當中,如上(shàng)圖所示;同樣,對應屬性名也需要在當前項目的某一個(gè)變量庫文件裏定義好,否則導入該Excel時(shí)會(huì)産生(shēng)錯誤。