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