本申請涉及指標(biāo)分析技術(shù)領(lǐng)域,更具體地說,涉及一種指標(biāo)一致性分析方法及分析系統(tǒng)。
背景技術(shù):
指標(biāo)是說明總體數(shù)量特征的概念,例如在工業(yè)普查中,所有工業(yè)企業(yè)構(gòu)成總體,工業(yè)企業(yè)總數(shù)、工業(yè)職工總數(shù)、利潤總額等都是所述指標(biāo),它們都從不同的方面反映總體的數(shù)量特征。對于一個(gè)企業(yè)來講,在長期的經(jīng)營過程中,會(huì)產(chǎn)生大量的指標(biāo)來描述企業(yè)的業(yè)務(wù)和經(jīng)營狀態(tài),指標(biāo)的名稱都是人為命名的,然后賦予指標(biāo)相應(yīng)的編碼、單位、類別、業(yè)務(wù)定義描述和指標(biāo)定義(指標(biāo)統(tǒng)計(jì)口徑或計(jì)算方法)就生成了一個(gè)完整的指標(biāo)進(jìn)而參與到對企業(yè)的業(yè)務(wù)和經(jīng)營狀態(tài)的描述中去。由于指標(biāo)的制定都是人為的,這樣就不可避免的造成很多具有一致性關(guān)系的指標(biāo)出現(xiàn)。所述一致性關(guān)系包括一致、同名不同義、同義不同名和指標(biāo)名稱與指標(biāo)定義關(guān)系異常。
現(xiàn)有技術(shù)中對于大量指標(biāo)的管理主要通過人為分析每個(gè)指標(biāo)的名稱和業(yè)務(wù)定義描述來判斷兩個(gè)指標(biāo)是否存在所述一致性關(guān)系。但是由于每個(gè)指標(biāo)的業(yè)務(wù)定義描述也是該指標(biāo)創(chuàng)建時(shí)人為對該指標(biāo)的性質(zhì)的描述,存在不規(guī)范或描述不準(zhǔn)確的情況,這就使得指標(biāo)管理人員很難通過指標(biāo)的名稱和業(yè)務(wù)定義描述來準(zhǔn)確判斷兩個(gè)指標(biāo)的一致性關(guān)系。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提供了一種指標(biāo)一致性分析方法及分析系統(tǒng),以解決通過指標(biāo)的名稱和業(yè)務(wù)定義描述很難準(zhǔn)確判斷兩個(gè)指標(biāo)的一致性關(guān)系的問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
一種指標(biāo)一致性分析方法,包括:
對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系,所述名稱一致性關(guān)系包括名稱一致、名稱不一致和名稱包含;
對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系,所述定義一致性關(guān)系包括定義一致、定義不一致和定義包含;
根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,所述一致性關(guān)系包括一致關(guān)系、無關(guān)關(guān)系、同名不同義關(guān)系、同義不同名關(guān)系和異常關(guān)系。
可選的,所述對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
根據(jù)通用詞庫對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行分詞處理,獲得多個(gè)第一指標(biāo)詞段和多個(gè)第二指標(biāo)詞段;
根據(jù)維度詞庫和度量詞庫將所述多個(gè)第一指標(biāo)詞段劃分為一個(gè)所述第一指標(biāo)的度量變量和至少一個(gè)所述第一指標(biāo)的維度變量;
根據(jù)所述維度詞庫和度量詞庫將所述多個(gè)第二指標(biāo)詞段劃分為一個(gè)所述第二指標(biāo)的度量變量和至少一個(gè)所述第二指標(biāo)的維度變量;
根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
可選的,所述根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
判斷所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量是否相同,如果是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致;如果否,則根據(jù)同義詞詞庫判斷所述第一指標(biāo)的度量變量是否為所述第二指標(biāo)的度量變量的同義詞,若是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致,若否,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致;
將所述至少一個(gè)第一指標(biāo)的維度變量作為維度變量集合,抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量,抽取的所述第一指標(biāo)的維度變量不再作為所述維度變量集合的元素;
判斷所述至少一個(gè)第二指標(biāo)的維度變量中是否存在與所述目標(biāo)變量相同的第二指標(biāo)的維度變量,如果是,則判定與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量一致,如果否,則根據(jù)同義詞詞庫判斷所述至少一個(gè)第二指標(biāo)的維度變量的同義詞中是否存在與所述目標(biāo)變量相同的維度變量,若是,則判定同義詞與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量為一致,若否,則判定所述目標(biāo)變量與所述至少一個(gè)第二指標(biāo)的維度變量不一致;
判斷所述目標(biāo)變量是否為空,如果否,則返回抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量的步驟;如果是,則統(tǒng)計(jì)所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量;
根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
可選的,所述根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱不一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量等于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述第一指標(biāo)的維度變量或所述第二指標(biāo)的維度變量數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量小于或大于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述至少一個(gè)第一指標(biāo)的維度變量時(shí)或所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱包含。
可選的,所述對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系包括:
對輸入的第一指標(biāo)的第一結(jié)構(gòu)化查詢語言sql語句和第二指標(biāo)的第二sql語句進(jìn)行解析,獲得所述第一sql語句的第一數(shù)據(jù)表和第二sql語句的第二數(shù)據(jù)表;
判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系;如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系的步驟;
所述數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫中存儲有數(shù)據(jù)表之間的血緣關(guān)系。
可選的,所述根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系包括:
對所述第一sql語句和第二sql語句進(jìn)行解析處理,獲得所述第一sql語句的TWhere對象以及所述第二sql語句的TWhere對象;
從所述第一sql語句的TWhere對象和所述第二sql語句的TWhere對象的節(jié)點(diǎn)中獲取多個(gè)第一子條件和多個(gè)第二子條件,所述第一子條件為從所述第一sql語句的TWhere對象中獲取的子條件,所述第二子條件為從所述第二sql語句的TWhere對象中獲取的子條件;
根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系。
可選的,所述根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系之后還包括:
根據(jù)所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系給出關(guān)于所述第一指標(biāo)和第二指標(biāo)的優(yōu)化策略,所述優(yōu)化策略包括合并、修改指標(biāo)名稱、修改統(tǒng)計(jì)口徑和下線指標(biāo)。
可選的,所述根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系之后還包括:
對具有一致關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)是否一致,如果是,則對所述第一指標(biāo)或所述第二指標(biāo)進(jìn)行下線指標(biāo)處理;
對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
一種指標(biāo)一致性分析系統(tǒng),包括:
名稱分析模塊,用于對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系,所述名稱一致性關(guān)系包括名稱一致、名稱不一致和名稱包含;
定義分析模塊,用于對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系,所述定義一致性關(guān)系包括定義一致、定義不一致和定義包含;
判斷模塊,用于根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,所述一致性關(guān)系包括一致關(guān)系、無關(guān)關(guān)系、同名不同義關(guān)系、同義不同名關(guān)系和異常關(guān)系。
可選的,所述名稱分析模塊包括:
分詞單元,用于根據(jù)通用詞庫對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行分詞處理,獲得多個(gè)第一指標(biāo)詞段和多個(gè)第二指標(biāo)詞段;
第一匹配單元,用于根據(jù)維度詞庫和度量詞庫將所述多個(gè)第一指標(biāo)詞段劃分為一個(gè)所述第一指標(biāo)的度量變量和至少一個(gè)所述第一指標(biāo)的維度變量;
第二匹配單元,用于根據(jù)所述維度詞庫和度量詞庫將所述多個(gè)第二指標(biāo)詞段劃分為一個(gè)所述第二指標(biāo)的度量變量和至少一個(gè)所述第二指標(biāo)的維度變量;
第一判斷單元,用于根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
可選的,所述第一判斷單元包括:
度量變量判斷單元,用于判斷所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量是否相同,如果是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致;如果否,則根據(jù)同義詞詞庫判斷所述第一指標(biāo)的度量變量是否為所述第二指標(biāo)的度量變量的同義詞,若是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致,若否,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致;
維度變量抽取單元,用于將所述至少一個(gè)第一指標(biāo)的維度變量作為維度變量集合,抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量,抽取的所述第一指標(biāo)的維度變量不再作為所述維度變量集合的元素;
第二判斷單元,用于判斷所述至少一個(gè)第二指標(biāo)的維度變量中是否存在與所述目標(biāo)變量相同的第二指標(biāo)的維度變量,如果是,則判定與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量一致,如果否,則根據(jù)同義詞詞庫判斷所述至少一個(gè)第二指標(biāo)的維度變量的同義詞中是否存在與所述目標(biāo)變量相同的維度變量,若是,則判定同義詞與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量為一致,若否,則判定所述目標(biāo)變量與所述至少一個(gè)第二指標(biāo)的維度變量不一致;
第三判斷單元,用于判斷所述目標(biāo)變量是否為空,如果否,則返回所述維度變量抽取單元;如果是,則統(tǒng)計(jì)所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量;
第四判斷單元,用于根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
可選的,所述第四判斷單元具體用于,當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱不一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量等于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述第一指標(biāo)的維度變量或所述第二指標(biāo)的維度變量數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量小于或大于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述至少一個(gè)第一指標(biāo)的維度變量時(shí)或所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱包含。
可選的,所述定義分析模塊包括:
sql解析單元,用于對輸入的第一指標(biāo)的第一結(jié)構(gòu)化查詢語言sql語句和第二指標(biāo)的第二sql語句進(jìn)行解析,獲得所述第一sql語句的第一數(shù)據(jù)表和第二sql語句的第二數(shù)據(jù)表;
第五判斷單元,用于判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系;如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系的步驟;
所述數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫中存儲有數(shù)據(jù)表之間的血緣關(guān)系。
可選的,所述第五判斷單元具體用于,判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則對所述第一sql語句和第二sql語句進(jìn)行解析處理,獲得所述第一sql語句的TWhere對象以及所述第二sql語句的TWhere對象;
從所述第一sql語句的TWhere對象和所述第二sql語句的TWhere對象的節(jié)點(diǎn)中獲取多個(gè)第一子條件和多個(gè)第二子條件,所述第一子條件為從所述第一sql語句的TWhere對象中獲取的子條件,所述第二子條件為從所述第二sql語句的TWhere對象中獲取的子條件;
根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系;
如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回對所述第一sql語句和第二sql語句進(jìn)行解析處理的步驟。
可選的,還包括:
優(yōu)化策略模塊,用于根據(jù)所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系給出關(guān)于所述第一指標(biāo)和第二指標(biāo)的優(yōu)化策略,所述優(yōu)化策略包括合并、修改指標(biāo)名稱、修改統(tǒng)計(jì)口徑和下線指標(biāo)。
可選的,還包括:
處理模塊,用于對具有一致關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)是否一致,如果是,則對所述第一指標(biāo)或所述第二指標(biāo)進(jìn)行下線指標(biāo)處理;和用于對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
從上述技術(shù)方案可以看出,本發(fā)明實(shí)施例提供了一種指標(biāo)一致性分析方法及分析系統(tǒng),其中,所述指標(biāo)一致性分析方法通過對所述第一指標(biāo)和第二指標(biāo)分別進(jìn)行名稱一致性分析和定義一致性分析,分別判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系,最后根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,避免根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱和業(yè)務(wù)定義描述來判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,造成的準(zhǔn)確性低的問題。這是因?yàn)樗龅谝恢笜?biāo)和第二指標(biāo)的定義(統(tǒng)計(jì)口徑或計(jì)算方法)具有唯一且確定的特性,不會(huì)出現(xiàn)由于人為描述的不清楚或不準(zhǔn)確而造成根據(jù)一致性判斷不準(zhǔn)確的情況出現(xiàn)。
并且,所述指標(biāo)一致性分析方法可以依托所述指標(biāo)一致性分析系統(tǒng)實(shí)現(xiàn)自動(dòng)對所述第一指標(biāo)和第二指標(biāo)的一致性分析,減少了指標(biāo)管理人員的工作量。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1-圖9為本申請的實(shí)施例提供的指標(biāo)一致性分析方法的流程示意圖;
圖10為本申請的一個(gè)實(shí)施例提供的一種指標(biāo)一致性分析系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本申請實(shí)施例提供了一種指標(biāo)一致性分析方法,如圖1所示,包括:
S101:對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系,所述名稱一致性關(guān)系包括名稱一致、名稱不一致和名稱包含。
需要說明的是,所述名稱一致是指所述第一指標(biāo)和第二指標(biāo)的名稱一致,比如“月有效通話客戶數(shù)”和“月通話有效客戶數(shù)”;所述名稱不一致是指所述第一指標(biāo)和第二指標(biāo)的名稱不相關(guān),比如“月有效通話客戶數(shù)”和“月有效短信客戶數(shù)”;所述名稱包含是指所述第一指標(biāo)和第二指標(biāo)的名稱為包含關(guān)系,比如“月通話客戶數(shù)”包含“月有效通話客戶數(shù)”。
S102:對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系,所述定義一致性關(guān)系包括定義一致、定義不一致和定義包含。
需要說明的是,一般而言,一個(gè)指標(biāo)一般包括編碼、名稱、單位、類別、業(yè)務(wù)定義描述和指標(biāo)定義這些參數(shù);其中,編碼是一個(gè)指標(biāo)的唯一標(biāo)識,名稱是指指標(biāo)的短名稱,例如活躍客戶數(shù)等,單位是指標(biāo)的計(jì)量單位,如戶、萬元等,類別是一個(gè)指標(biāo)的分類,如收入類,市場競爭類等;業(yè)務(wù)定義描述是一個(gè)指標(biāo)在創(chuàng)建時(shí)人為對目標(biāo)屬性或性質(zhì)的文字描述;而指標(biāo)定義是指一個(gè)指標(biāo)的統(tǒng)計(jì)口徑或計(jì)算公式,是該指標(biāo)最終的數(shù)值來源的渠道或方式。那么通過對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析可以準(zhǔn)確的獲悉所述第一指標(biāo)和第二指標(biāo)的數(shù)值來源的渠道或方式的一致性關(guān)系,那么結(jié)合所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系就可以準(zhǔn)確的判斷出所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,避免根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱和業(yè)務(wù)定義描述來判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,造成的準(zhǔn)確性低的問題。
S103:根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,所述一致性關(guān)系包括一致關(guān)系、無關(guān)關(guān)系、同名不同義關(guān)系、同義不同名關(guān)系和異常關(guān)系。
在上述實(shí)施例的基礎(chǔ)上,在本申請的一個(gè)實(shí)施例中,如圖2所示,所述對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
S1011:根據(jù)通用詞庫對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行分詞處理,獲得多個(gè)第一指標(biāo)詞段和多個(gè)第二指標(biāo)詞段。
例如,對于指標(biāo)“月有效通話客戶數(shù)”根據(jù)所述通用詞庫對其進(jìn)行分詞,獲得“月”“有效”“通話”“客戶數(shù)”這四個(gè)指標(biāo)詞段。
S1012:根據(jù)維度詞庫和度量詞庫將所述多個(gè)第一指標(biāo)詞段劃分為一個(gè)所述第一指標(biāo)的度量變量和至少一個(gè)所述第一指標(biāo)的維度變量。
仍然以“月有效通話客戶數(shù)”分成的“月”“有效”“通話”“客戶數(shù)”這四個(gè)指標(biāo)詞段為例,將這四個(gè)指標(biāo)詞段在所述維度詞庫和度量詞庫中進(jìn)行匹配發(fā)現(xiàn),“月”“有效”“通話”屬于維度變量,“客戶數(shù)”屬于度量變量。則“月有效通話客戶數(shù)”這一指標(biāo)有三個(gè)維度變量,分別是“月”“有效”和“通話”;有一個(gè)度量變量,為“客戶數(shù)”。
S1013:根據(jù)所述維度詞庫和度量詞庫將所述多個(gè)第二指標(biāo)詞段劃分為一個(gè)所述第二指標(biāo)的度量變量和至少一個(gè)所述第二指標(biāo)的維度變量。
S1014:根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
需要說明的是,步驟S1011、S1012、S1013和S1014可以通過開源項(xiàng)目Luence,結(jié)合中文分詞組件,采用正向迭代最細(xì)粒度切分算法完成。但本申請并不對其具體完成方式作出限定,具體視實(shí)際情況而定。
所述通用詞庫中存儲有漢語詞典詞庫,所述漢語詞典包括但不限于辭海、中華大辭典和漢語大詞典。所述維度詞庫中存儲有用于指標(biāo)中的所有維度變量;所述度量詞庫中存儲有用于指標(biāo)中的所有度量變量;所述同義詞詞庫中存儲有漢語詞語之間的同義詞關(guān)系。
在上述實(shí)施例的基礎(chǔ)上,在本申請的另一個(gè)實(shí)施例中,如圖3所示,所述根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
S10141:判斷所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量是否相同,如果是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致;如果否,則根據(jù)同義詞詞庫判斷所述第一指標(biāo)的度量變量是否為所述第二指標(biāo)的度量變量的同義詞,若是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致,若否,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致;
S10142:將所述至少一個(gè)第一指標(biāo)的維度變量作為維度變量集合,抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量,抽取的所述第一指標(biāo)的維度變量不再作為所述維度變量集合的元素;
S10143:判斷所述至少一個(gè)第二指標(biāo)的維度變量中是否存在與所述目標(biāo)變量相同的第二指標(biāo)的維度變量,如果是,則判定與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量一致,如果否,則根據(jù)同義詞詞庫判斷所述至少一個(gè)第二指標(biāo)的維度變量的同義詞中是否存在與所述目標(biāo)變量相同的維度變量,若是,則判定同義詞與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量為一致,若否,則判定所述目標(biāo)變量與所述至少一個(gè)第二指標(biāo)的維度變量不一致;
S10144:判斷所述目標(biāo)變量是否為空,如果否,則返回抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量的步驟;如果是,則統(tǒng)計(jì)所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量;
S10145:根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
本申請實(shí)施例僅提供了一種可行的步驟S1014的具體實(shí)施方式,在本申請的其他實(shí)施例中,還可以通過其他的比對方式完成,本申請對此并不做限定,具體視實(shí)際情況而定。
在上述實(shí)施例的基礎(chǔ)上,在本申請的又一個(gè)實(shí)施例中,如圖4所示,所述根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系包括:
S101451:當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱不一致。
比如對于指標(biāo)“月有效通話客戶數(shù)”的度量變量為“客戶數(shù)”,“月有效通話次數(shù)”的度量變量為“通話次數(shù)”,且“客戶數(shù)”和“通話次數(shù)”也不是同義詞,則可以認(rèn)為這兩個(gè)指標(biāo)的名稱一致性關(guān)系為名稱不一致。
S101452:當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量等于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述第一指標(biāo)的維度變量或所述第二指標(biāo)的維度變量數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱一致。
比如對于指標(biāo)“月有效通話客戶數(shù)”和“月通話有效客戶數(shù)”這兩個(gè)指標(biāo)而言,它們的度量變量一致,維度變量數(shù)量相同,且兩個(gè)指標(biāo)一致的維度變量的數(shù)量等于這兩個(gè)指標(biāo)的維度變量的數(shù)量,這時(shí)我們認(rèn)為“月有效通話客戶數(shù)”和“有通話有效客戶數(shù)”這兩個(gè)指標(biāo)的名稱一致性關(guān)系為一致。
S101453:當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量小于或大于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述至少一個(gè)第一指標(biāo)的維度變量時(shí)或所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱包含。
比如對于指標(biāo)“月有效通話客戶數(shù)”和“月通話客戶數(shù)”這兩個(gè)指標(biāo)而言,它們的度量變量一致,“月通話客戶數(shù)”的維度變量數(shù)量小于“月有效通話客戶數(shù)”,且“月通話客戶數(shù)”與“月有效通話客戶數(shù)”一致的維度變量數(shù)量為2,等于“月通話客戶數(shù)”的維度變量數(shù)量,則認(rèn)為“月通話客戶數(shù)”這一指標(biāo)與“月有效通話客戶數(shù)”這一指標(biāo)的名稱一致性關(guān)系為名稱包含,具體地,“月通話客戶數(shù)”包含“月有效通話客戶數(shù)”。
在上述實(shí)施例的基礎(chǔ)上,在本申請的再一個(gè)實(shí)施例中,如圖5所示,所述對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系包括:
S2011:對輸入的第一指標(biāo)的第一結(jié)構(gòu)化查詢語言sql語句和第二指標(biāo)的第二sql語句進(jìn)行解析,獲得所述第一sql語句的第一數(shù)據(jù)表和第二sql語句的第二數(shù)據(jù)表。
S2022:判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系;如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系的步驟;
所述數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫中存儲有數(shù)據(jù)表之間的血緣關(guān)系。
本申請的一個(gè)優(yōu)選實(shí)施例提供了一種根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系的方法,如圖6所示,包括:
S20221:對所述第一sql語句和第二sql語句進(jìn)行解析處理,獲得所述第一sql語句的TWhere對象以及所述第二sql語句的TWhere對象;
S20222:從所述第一sql語句的TWhere對象和所述第二sql語句的TWhere對象的節(jié)點(diǎn)中獲取多個(gè)第一子條件和多個(gè)第二子條件,所述第一子條件為從所述第一sql語句的TWhere對象中獲取的子條件,所述第二子條件為從所述第二sql語句的TWhere對象中獲取的子條件;
S20223:根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系。
具體地,圖7示出了一種根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系的例子。在圖7中,所述第一sql語句的三個(gè)第一子條件和第二sql語句的三個(gè)第二子條件之間分別為“包含”“一致”和“一致”關(guān)系,那么第一sql語句和第二sql語句之間的定義一致性關(guān)系為定義包含。
在上述實(shí)施例的基礎(chǔ)上,在本申請的另一個(gè)優(yōu)選實(shí)施例中,如圖8所示,所述根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系之后還包括:
S104:根據(jù)所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系給出關(guān)于所述第一指標(biāo)和第二指標(biāo)的優(yōu)化策略,所述優(yōu)化策略包括合并、修改指標(biāo)名稱、修改統(tǒng)計(jì)口徑和下線指標(biāo)。
在上述實(shí)施例的基礎(chǔ)上,在本申請的又一個(gè)優(yōu)選實(shí)施例中,如圖9所示,所述根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系之后還包括:
S105:對具有一致關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)是否一致,如果是,則對所述第一指標(biāo)或所述第二指標(biāo)進(jìn)行下線指標(biāo)處理;
S106:對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
具體地,針對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背的情況進(jìn)行說明,比如當(dāng)所述第一指標(biāo)與第二指標(biāo)的名稱一致性關(guān)系為第一指標(biāo)包含第二指標(biāo),而所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系為第二指標(biāo)包含第一指標(biāo)時(shí),則認(rèn)為所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系相違背,此時(shí)需要核查所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
相應(yīng)的,本申請實(shí)施例還提供了一種指標(biāo)一致性分析系統(tǒng),如圖10所示,包括:
名稱分析模塊100,用于對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行名稱一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系,所述名稱一致性關(guān)系包括名稱一致、名稱不一致和名稱包含;
定義分析模塊200,用于對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析,判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系,所述定義一致性關(guān)系包括定義一致、定義不一致和定義包含;
判斷模塊300,用于根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,所述一致性關(guān)系包括一致關(guān)系、無關(guān)關(guān)系、同名不同義關(guān)系、同義不同名關(guān)系和異常關(guān)系。
需要說明的是,所述名稱一致是指所述第一指標(biāo)和第二指標(biāo)的名稱一致,比如“月有效通話客戶數(shù)”和“月通話有效客戶數(shù)”;所述名稱不一致是指所述第一指標(biāo)和第二指標(biāo)的名稱不相關(guān),比如“月有效通話客戶數(shù)”和“月有效短信客戶數(shù)”;所述名稱包含是指所述第一指標(biāo)和第二指標(biāo)的名稱為包含關(guān)系,比如“月通話客戶數(shù)”包含“月有效通話客戶數(shù)”。
一般而言,一個(gè)指標(biāo)一般包括編碼、名稱、單位、類別、業(yè)務(wù)定義描述和指標(biāo)定義這些參數(shù);其中,編碼是一個(gè)指標(biāo)的唯一標(biāo)識,名稱是指指標(biāo)的短名稱,例如活躍客戶數(shù)等,單位是指標(biāo)的計(jì)量單位,如戶、萬元等,類別是一個(gè)指標(biāo)的分類,如收入類,市場競爭類等;業(yè)務(wù)定義描述是一個(gè)指標(biāo)在創(chuàng)建時(shí)人為對目標(biāo)屬性或性質(zhì)的文字描述;而指標(biāo)定義是指一個(gè)指標(biāo)的統(tǒng)計(jì)口徑或計(jì)算公式,是該指標(biāo)最終的數(shù)值來源的渠道或方式。那么通過對所述第一指標(biāo)和第二指標(biāo)進(jìn)行定義一致性分析可以準(zhǔn)確的獲悉所述第一指標(biāo)和第二指標(biāo)的數(shù)值來源的渠道或方式的一致性關(guān)系,那么結(jié)合所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系就可以準(zhǔn)確的判斷出所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,避免根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱和業(yè)務(wù)定義描述來判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,造成的準(zhǔn)確性低的問題。
在上述實(shí)施例的基礎(chǔ)上,在本申請的一個(gè)實(shí)施例中,所述名稱分析模塊100包括:
分詞單元,用于根據(jù)通用詞庫對輸入的第一指標(biāo)和第二指標(biāo)進(jìn)行分詞處理,獲得多個(gè)第一指標(biāo)詞段和多個(gè)第二指標(biāo)詞段;
例如,對于指標(biāo)“月有效通話客戶數(shù)”根據(jù)所述通用詞庫對其進(jìn)行分詞,獲得“月”“有效”“通話”“客戶數(shù)”這四個(gè)指標(biāo)詞段。
第一匹配單元,用于根據(jù)維度詞庫和度量詞庫將所述多個(gè)第一指標(biāo)詞段劃分為一個(gè)所述第一指標(biāo)的度量變量和至少一個(gè)所述第一指標(biāo)的維度變量;
仍然以“月有效通話客戶數(shù)”分成的“月”“有效”“通話”“客戶數(shù)”這四個(gè)指標(biāo)詞段為例,將這四個(gè)指標(biāo)詞段在所述維度詞庫和度量詞庫中進(jìn)行匹配發(fā)現(xiàn),“月”“有效”“通話”屬于維度變量,“客戶數(shù)”屬于度量變量。則“月有效通話客戶數(shù)”這一指標(biāo)有三個(gè)維度變量,分別是“月”“有效”和“通話”;有一個(gè)度量變量,為“客戶數(shù)”。
第二匹配單元,用于根據(jù)所述維度詞庫和度量詞庫將所述多個(gè)第二指標(biāo)詞段劃分為一個(gè)所述第二指標(biāo)的度量變量和至少一個(gè)所述第二指標(biāo)的維度變量;
第一判斷單元,用于根據(jù)所述第一指標(biāo)的度量變量、至少一個(gè)所述第一指標(biāo)的維度變量、所述第二指標(biāo)的度量變化、至少一個(gè)所述第二指標(biāo)的維度變量和同義詞詞庫判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
需要說明的是,所述通用詞庫中存儲有漢語詞典詞庫,所述漢語詞典包括但不限于辭海、中華大辭典和漢語大詞典。所述維度詞庫中存儲有用于指標(biāo)中的所有維度變量;所述度量詞庫中存儲有用于指標(biāo)中的所有度量變量;所述同義詞詞庫中存儲有漢語詞語之間的同義詞關(guān)系。
在上述實(shí)施例的基礎(chǔ)上,在本申請的另一個(gè)實(shí)施例中,所述第一判斷單元包括:
度量變量判斷單元,用于判斷所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量是否相同,如果是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致;如果否,則根據(jù)同義詞詞庫判斷所述第一指標(biāo)的度量變量是否為所述第二指標(biāo)的度量變量的同義詞,若是,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致,若否,則判定所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致;
維度變量抽取單元,用于將所述至少一個(gè)第一指標(biāo)的維度變量作為維度變量集合,抽取所述維度變量集合中的一個(gè)所述第一指標(biāo)的維度變量作為目標(biāo)變量,抽取的所述第一指標(biāo)的維度變量不再作為所述維度變量集合的元素;
第二判斷單元,用于判斷所述至少一個(gè)第二指標(biāo)的維度變量中是否存在與所述目標(biāo)變量相同的第二指標(biāo)的維度變量,如果是,則判定與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量一致,如果否,則根據(jù)同義詞詞庫判斷所述至少一個(gè)第二指標(biāo)的維度變量的同義詞中是否存在與所述目標(biāo)變量相同的維度變量,若是,則判定同義詞與所述目標(biāo)變量相同的第二指標(biāo)的維度變量與所述目標(biāo)變量為一致,若否,則判定所述目標(biāo)變量與所述至少一個(gè)第二指標(biāo)的維度變量不一致;
第三判斷單元,用于判斷所述目標(biāo)變量是否為空,如果否,則返回所述維度變量抽取單元;如果是,則統(tǒng)計(jì)所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量;
第四判斷單元,用于根據(jù)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量的一致與否,以及所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量、所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量、所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量判定所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系。
在上述實(shí)施例的基礎(chǔ)上,在本申請的又一個(gè)實(shí)施例中,所述第四判斷單元具體用于,當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量不一致時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱不一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量等于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述第一指標(biāo)的維度變量或所述第二指標(biāo)的維度變量數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱一致;
當(dāng)所述第一指標(biāo)的度量變量與所述第二指標(biāo)的度量變量一致、所述至少一個(gè)第一指標(biāo)的維度變量數(shù)量小于或大于所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量,且所述至少一個(gè)第一指標(biāo)的維度變量與所述至少一個(gè)第二指標(biāo)的維度變量的一致數(shù)量等于所述至少一個(gè)第一指標(biāo)的維度變量時(shí)或所述至少一個(gè)第二指標(biāo)的維度變量的數(shù)量時(shí),所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系為名稱包含。
比如對于指標(biāo)“月有效通話客戶數(shù)”的度量變量為“客戶數(shù)”,“月有效通話次數(shù)”的度量變量為“通話次數(shù)”,且“客戶數(shù)”和“通話次數(shù)”也不是同義詞,則可以認(rèn)為這兩個(gè)指標(biāo)的名稱一致性關(guān)系為名稱不一致。對于指標(biāo)“月有效通話客戶數(shù)”和“月通話有效客戶數(shù)”這兩個(gè)指標(biāo)而言,它們的度量變量一致,維度變量數(shù)量相同,且兩個(gè)指標(biāo)一致的維度變量的數(shù)量等于這兩個(gè)指標(biāo)的維度變量的數(shù)量,這時(shí)我們認(rèn)為“月有效通話客戶數(shù)”和“有通話有效客戶數(shù)”這兩個(gè)指標(biāo)的名稱一致性關(guān)系為一致。對于指標(biāo)“月有效通話客戶數(shù)”和“月通話客戶數(shù)”這兩個(gè)指標(biāo)而言,它們的度量變量一致,“月通話客戶數(shù)”的維度變量數(shù)量小于“月有效通話客戶數(shù)”,且“月通話客戶數(shù)”與“月有效通話客戶數(shù)”一致的維度變量數(shù)量為2,等于“月通話客戶數(shù)”的維度變量數(shù)量,則認(rèn)為“月通話客戶數(shù)”這一指標(biāo)與“月有效通話客戶數(shù)”這一指標(biāo)的名稱一致性關(guān)系為名稱包含,具體地,“月通話客戶數(shù)”包含“月有效通話客戶數(shù)”。
在上述實(shí)施例的基礎(chǔ)上,在本申請的再一個(gè)實(shí)施例中,所述定義分析模塊200包括:
sql解析單元,用于對輸入的第一指標(biāo)的第一結(jié)構(gòu)化查詢語言sql語句和第二指標(biāo)的第二sql語句進(jìn)行解析,獲得所述第一sql語句的第一數(shù)據(jù)表和第二sql語句的第二數(shù)據(jù)表;
第五判斷單元,用于判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系;如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回根據(jù)所述第一sql語句和第二sql語句判斷所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系的步驟;
所述數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫中存儲有數(shù)據(jù)表之間的血緣關(guān)系。
在上述實(shí)施例的基礎(chǔ)上,在本申請的一個(gè)優(yōu)選實(shí)施例中,所述第五判斷單元具體用于,判斷所述第一數(shù)據(jù)表和第二數(shù)據(jù)表是否相同,如果是,則對所述第一sql語句和第二sql語句進(jìn)行解析處理,獲得所述第一sql語句的TWhere對象以及所述第二sql語句的TWhere對象;
從所述第一sql語句的TWhere對象和所述第二sql語句的TWhere對象的節(jié)點(diǎn)中獲取多個(gè)第一子條件和多個(gè)第二子條件,所述第一子條件為從所述第一sql語句的TWhere對象中獲取的子條件,所述第二子條件為從所述第二sql語句的TWhere對象中獲取的子條件;
根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系;
如果否,則根據(jù)數(shù)據(jù)表血緣關(guān)系數(shù)據(jù)庫查詢所述第一數(shù)據(jù)表的所有源表和所述第二數(shù)據(jù)表的所有源表,判斷所述第一數(shù)據(jù)庫的所有源表與所述第二數(shù)據(jù)表的所有源表是否存在相同的數(shù)據(jù)表,若否,則判定所述第一sql語句與所述第二sql語句之間的定義一致性關(guān)系為不一致;若是,則將該數(shù)據(jù)表作為目標(biāo)數(shù)據(jù)表,將所述第一sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第三sql語句,將所述第二sql語句轉(zhuǎn)換為關(guān)于目標(biāo)數(shù)據(jù)表的第四sql語句,并將所述第三sqp語句作為新的第一sql語句,將所述第四sql語句作為新的第二sql語句,返回對所述第一sql語句和第二sql語句進(jìn)行解析處理的步驟。
具體地,圖7示出了一種根據(jù)所述多個(gè)第一子條件和多個(gè)第二子條件判斷所述第一sql語句和第二sql語句之間的定義一致性關(guān)系的例子。在圖7中,所述第一sql語句的三個(gè)第一子條件和第二sql語句的三個(gè)第二子條件之間分別為“包含”“一致”和“一致”關(guān)系,那么第一sql語句和第二sql語句之間的定義一致性關(guān)系為定義包含。
在上述實(shí)施例的基礎(chǔ)上,在本申請的另一個(gè)優(yōu)選實(shí)施例中,所述指標(biāo)一致性分析系統(tǒng)還包括:
優(yōu)化策略模塊,用于根據(jù)所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系給出關(guān)于所述第一指標(biāo)和第二指標(biāo)的優(yōu)化策略,所述優(yōu)化策略包括合并、修改指標(biāo)名稱、修改統(tǒng)計(jì)口徑和下線指標(biāo)。
在上述實(shí)施例的基礎(chǔ)上,在本申請的又一個(gè)優(yōu)選實(shí)施例中,所述指標(biāo)一致性分析系統(tǒng)還包括:
處理模塊,用于對具有一致關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)是否一致,如果是,則對所述第一指標(biāo)或所述第二指標(biāo)進(jìn)行下線指標(biāo)處理;和用于對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),判斷所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
具體地,針對名稱一致性關(guān)系為包含關(guān)系的所述第一指標(biāo)和第二指標(biāo),所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背的情況進(jìn)行說明,比如當(dāng)所述第一指標(biāo)與第二指標(biāo)的名稱一致性關(guān)系為第一指標(biāo)包含第二指標(biāo),而所述第一指標(biāo)和第二指標(biāo)的定義一致性關(guān)系為第二指標(biāo)包含第一指標(biāo)時(shí),則認(rèn)為所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系相違背,此時(shí)需要核查所述第一指標(biāo)和第二指標(biāo)的數(shù)據(jù)關(guān)系是否與所述第一指標(biāo)和第二指標(biāo)名稱一致性關(guān)系相違背,如果是,則確定所述第一指標(biāo)和第二指標(biāo)為異常關(guān)系。
綜上所述,本申請實(shí)施例提供了一種指標(biāo)一致性分析方法及分析系統(tǒng),其中,所述指標(biāo)一致性分析方法通過對所述第一指標(biāo)和第二指標(biāo)分別進(jìn)行名稱一致性分析和定義一致性分析,分別判斷所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系,最后根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱一致性關(guān)系和定義一致性關(guān)系判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,避免根據(jù)所述第一指標(biāo)和第二指標(biāo)的名稱和業(yè)務(wù)定義描述來判斷所述第一指標(biāo)和第二指標(biāo)的一致性關(guān)系,造成的準(zhǔn)確性低的問題。這是因?yàn)樗龅谝恢笜?biāo)和第二指標(biāo)的定義(統(tǒng)計(jì)口徑或計(jì)算方法)具有唯一且確定的特性,不會(huì)出現(xiàn)由于人為描述的不清楚或不準(zhǔn)確而造成根據(jù)一致性判斷不準(zhǔn)確的情況出現(xiàn)。
并且,所述指標(biāo)一致性分析方法可以依托所述指標(biāo)一致性分析系統(tǒng)實(shí)現(xiàn)自動(dòng)對所述第一指標(biāo)和第二指標(biāo)的一致性分析,減少了指標(biāo)管理人員的工作量。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。