專利名稱:數據報表生成方法及其裝置的制作方法
技術領域:
本發明涉及計算機技術領域,尤指一種數據報表生成方法及其裝置。
背景技術:
自助數據報表一般基于數據庫中的數據,通過需求不同對數據分析提取后進行展現,在用戶側展現的一般為數據報表形式,而后臺則為數據庫操作語言,二者的關系如圖1所示,圖中左邊的表格為展現的數據報表形式,右邊的表格為后臺操作語言。自助數據報表具有很高的自主性和靈活性,數據展現實效性高、直觀明了,用戶不需要掌握復雜語言就可以獲得直觀的數據,深受各個分析部門的青睞。自助數據報表一般分為兩部分:一部分設置展現模板結構,另一部分進行數據庫中數據的提取,并將提取的數據按照設置的展現模板結構進行展現。下面以一個具體實例來說明數據報表的生成過程:假設用戶需要包含A1、A2、B3、B4和C4數據的自主數據報表,該自助數據報表所需的數據存儲在數據庫中,包括表么、8、(:,其中,表4包括4132、4334,表8包括81、82、83、B4,表C包括Cl、C2、C3、C4,在數據報表中需展現Al、A2、B3、B4和C4的信息,其結構化查詢語言(Structured Query Language, SQL)語句可以寫為:Select Al, A2, B3, B4, C4 FromA, B,C Where Al = BI And Al = Cl,自助數據報表系統根據該SQL語句取出數據后,向用戶展現如圖2所示的數據報表結構,而該SQL語句會被存儲在數據庫中;當用戶再次使用該數據報表時,后臺直接調用該SQL語句在數據庫中取出數據后即可生成報表,但是必須保證表A、B、C均存在數據庫中,且Al、B1、Cl、A2、B3、B4、C4分別存在于表A、B、C中,當任一個表或者表中的某一數據不存在時,則整個數據報表就無法正常使用。因此,現有的自助數據報表生成方案中隨著數據的增多,數據來源之間的關聯性增強,常常會由于某一個數據來源的數據結構發生變化后,導致一個或多個報表無法展現,并且由于存儲結構的復雜化,使得對自助數據報表系統的維護和故障排除的難度增大。
發明內容
本發明實施例提供一種數據報表生成方法及其裝置,用以解決現有技術中存在的當某一個數據來源的數據結構發生變化導致的無法展現數據報表以及對數據報表系統的維護和故障排除難度較大的問題。本發明實施例的具體方案包括:一種數據報表生成方法,包括獲取用于生成用戶請求的數據報表的查詢語句;確定獲取的所述查詢語句中包含的關聯元素、數據表標識元素和展現元素,所述關聯元素與所述查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,所述展現元素為用戶請求的數據報表中需要展現的元素,所述展現元素對應的數據和關聯元素對應的數據是從所述數據表標識元素對應的數據表中提取的;生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,所述數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度;按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值;在確定的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據報表。一種數據報表生成裝置,包括查詢語句獲取單元,用于獲取用于生成用戶請求的數據報表的查詢語句;元素確定單元,用于確定獲取的所述查詢語句中包含的關聯元素、數據表標識元素和展現元素,所述關聯元素與所述查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,所述展現元素為用戶請求的數據報表中需要展現的元素,所述展現元素對應的數據和關聯元素對應的數據是從所述數據表標識元素對應的數據表中提取的;提取屬性信息生成單元,用于生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,所述數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度;容錯度值確定單元,用于按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值;報表生成單元,用于在確定的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據報表。本發明實施例提供的數據報表生成方法及其裝置,通過生成獲取的查詢語句中包含的關聯元素、數據表標識元素和展現元素的數據提取屬性信息,在生成數據報表的過程中,如果數據報表所需的展現元素缺省,就可以計算出該數據報表的容錯度,當該容錯度大于設定閾值時,生成不包含缺省展現元素的數據報表,由于在數據報表中沒有展現缺省的展現元素,就可以確定該缺省的展現元素對應的數據所在的數據來源的數據結構發生了變化,從而可以對該缺省的展現元素對應的數據所在的數據來源進行維護和故障排除;該方案中即使所需的展現元素對應的數據所在的數據來源的數據結構發生了變化,仍然可以生成不包含該缺省的展現元素的數據報表,并可以及時、準確地定位不能生成所需的數據報表的故障原因,從而可以及時、準確高效地排除故障。
圖1為現有技術中用戶側展現的數據報表與后臺的SQL語句之間的對照關系示意圖;圖2為現有技術中展現后的數據報表的結構示意圖;圖3為本發明實施例中的數據報表生成方法的流程圖;圖4為本發明實施例中確定出現不能提取到至少一個展現元素對應的數據的方法流程圖;圖5為本發明實施例中的數據報表在缺省不能提取到對應數據的展現元素時的結構示意圖;圖6為本發明實施例中的數據報表生成裝置的結構示意圖。
具體實施方式
針對現有技術中存在的當某一個數據來源的數據結構發生變化導致的無法展現數據報表以及對數據報表系統的維護和故障排除難度較大的問題,本發明實施例提供一種數據報表生成方法,該方法的流程如圖3所示,具體執行步驟如下:S30:獲取用于生成用戶請求的數據報表的查詢語句。在現有技術中,當用戶首次請求某一數據報表時,會首先生成一個查詢語句,根據該查詢語句在后臺數據庫中查找所需的數據,然后生成數據報表展現給用戶,當用戶再次使用該數據報表時,直接調用該查詢語句在數據庫中查找數據,生成數據報表后向用戶展現。本實施例中,該查詢語句可以是用戶首次請求某一數據報表后,在生成數據報表之前形成的;也可以是某一數據報表已經生成后使用該查詢語句查找所需的數據時生成,用戶再次使用該數據報表時,不再使用該查詢語句查找所需的數據,而是首先進行下列步驟。查詢語句可以是各種數據庫操作語言,例如SQL語句等,當然也可以是其他查詢語句,在這里不再贅述。S31:確定獲取的查詢語句中包含的關聯元素、數據表標識元素和展現元素。其中關聯元素與查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,展現元素為用戶請求的數據報表中需要展現的元素,展現元素對應的數據和關聯元素對應的數據是從數據表標識元素對應的數據表中提取的。假設獲取的查詢語句為Select Al, A2, B3, B4, C4From A, B, C WhereAl = BI AndAl = Cl,該查詢語句要實現的操作是當Al = BI且Al = Cl時,從表A中選取Al和A2,從表B中選取B3和B4,從表C中選取C4jfAl、A2、B3、B4、C4生成報表展現給用戶。在該查詢語句中出現的元素分別為六1、42、83、84、04、么、8、(:、81、(:1,其中Al、B1、Cl是有關聯關系的,因為Al =Bl并且Al = Cl,所以這三個元素為關聯元素;A、B、C是三個數據表標識,它們就是查詢語句中的數據表標識元素;而41、八2、8334、(:4是要展現給用戶的元素,為展現元素。其中關聯元素、數據表標識元素、展示元素的數量根據查詢語句的不同而不同,并不局限于這里提到的數量。S32:生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度。各關聯元素、數據表標識元素、展示元素的數據提取屬性信息是用于在數據庫中提取相應的數據使用的。S33:按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。在數據提取屬性中包含該元素的權重分值,用于表征對應的元素在數據報表中的重要程度,當用戶請求的數據報表中的展現元素都存在時,生成該數據報表,數據報表的結構如圖2所示。當提取不到用戶請求的數據報表的展現元素中至少一個展現元素對應的數據時,也就是用戶請求的數據報表無法正常展現時,可以用查詢語句中的各元素對應的數據提取屬性信息中包含的權重分值確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。
S34:判斷確定的容錯度是否大于設定閾值,若是,執行S35 ;否則,執行S36。S35:生成缺省不能提取到對應數據的展現元素的數據報表。S36:生成不能提取到對應數據的展現元素的信息和數據報表不能展現的提示信
肩、O可以設定容錯度的閾值,當數據報表的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據報表并展現給用戶;當數據報表的容錯度值小于等于設定閾值時,生成不能提取到對應數據的展現元素的信息和數據報表不能展現的提示信息。該方案中生成了獲取的查詢語句中包含的關聯元素、數據表標識元素和展現元素的數據提取屬性信息,在生成數據報表的過程中,如果數據報表所需的展現元素缺省,就可以計算出該數據報表的容錯度,當該容錯度大于設定閾值時,生成不包含缺省展現元素的數據報表,由于在數據報表中沒有展現缺省的展現元素,就可以確定該缺省的展現元素對應的數據所在的數據來源的數據結構發生了變化,從而可以對該缺省的展現元素對應的數據所在的數據來源進行維護和故障排除;該方案中即使所需的展現元素對應的數據所在的數據來源的數據結構發生了變化,仍然可以生成不包含該缺省的展現元素的數據報表,并可以及時、準確地定位不能生成所需的數據報表的故障原因,從而可以及時、準確高效地排除故障。具體的,上述S32中的生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,包括:針對查詢語句中包含的每個元素,分別執行:確定用戶請求的數據報表的第一標識信息;并分別確定該元素的元素類型信息、所在的數據表的第二標識信息、用于表征該元素是否為關聯元素的標志和用于表征該元素在數據報表中的重要程度的權重分值;將確定的第一標識信息、元素類型信息、第二標識信息、標志和權重分值構成的五元組信息作為該元素的數據提取屬性信息。繼續沿用上例,假設用戶請求的數據報表的第一標識信息為0001,由于Al為數據表A中的元素,也就是說Al的父表為A,并且為關聯元素,那么得到的Al的五元組信息可以表示為(0001,元素,A,關聯,權重分值);使用同樣的方法可以確定BI的五元組信息為(0001,元素,B,關聯,權重分值),Cl的五元組信息為(0001,元素,C,關聯,權重分值)。由于數據表A是一個單獨的數據表,沒有父表,所以可以將所在的數據表的第二標識信息設為0,A為非關聯元素,所以A的五元組信息為(0001,表,0,非關聯,權重分值);使用同樣的方法可以確定B的五元組信息為(0001,表,0,非關聯,權重分值),C的五元組信息為(0001,表,O,非關聯,權重分值)。在該例中Al即為關聯元素,又為展示元素,因此Al的五元組信息采用Al作為關聯元素的五元組信息即可,對于A2來說,其父表為A,為展示元素,那么A2的五元組信息為(0001,元素,A,非關聯,權重分值);使用同樣的方法可以確定B3的五元組信息為(0001,元素,B,非關聯,權重分值),B4的五元組信息為(0001,元素,B,非關聯,權重分值),C4的五元組信息為(0001,元素,C,非關聯,權重分值)。這樣也就確定出了上述查詢語句中出現的所有元素的五元組信息,也就確定出了所有元素的數據提取屬性信息。具體的,上述S32中的確定用于表征該元素在數據報表中的重要程度的權重分值,根據元素的種類不同,確定的方法也不同,具體包括下列三種情況:
第一種情況:若該元素為關聯元素,則將該關聯元素與查詢語句中的其他關聯元素關聯的次數作為該元素的權重分值。繼續沿用上例,在上述查詢語句中,由于Al = BI且Al = Cl,Al與其他關聯元素關聯的次數為2,因此Al的權重分值為2,則最終確定的Al的五元組信息為(0001,元素,A,關聯,2);使用同樣的方法最終確定的BI的五元組信息為(0001,元素,B,關聯,I) ,Cl的五元組信息為(0001,元素,C,關聯,I)。第二種情況:若該元素為數據表標識元素,則將該元素對應的數據表中包含的關聯元素的權重分值的和值,作為該元素的權重分值。繼續沿用上例,在上述查詢語句中,數據表A中包含的關聯元素為Al,由于Al的權重分值為2,所以A的權重分值就是2,那么最終確定的A的五元組信息為(0001,表,0,非關聯,2);使用同樣的方法可以確定B的五元組信息為(0001,表,0,非關聯,I),C的五元組信息為(0001,表,0,非關聯,I)。第三種情況:若該元素為展現元素且不是關聯元素時,則將該元素所在的數據表對應的數據表標識元素的權重分值與將該元素所在的數據表中不是關聯元素的展現元素的個數的比值,作為該元素的權重分值。繼續沿用上例,在上述查詢語句中,不是關聯元素的展示元素為A2、B3、B4、C4。A2所在的數據表A對應的數據表標識元素A的權重分值為2,而A中不是關聯元素的展示元素的個數為1,所以A2的權重分值為2/1 = 2,則最終得到的A2的五元組信息為(0001,元素,A,非關聯,2);使用同樣的方法可以確定B3的五元組信息為(0001,元素,B,非關聯,0.5),B4的五元組信息為(0001,元素,B,非關聯,0.5,C4的五元組信息為(0001,元素,C,非關聯,I)。具體的,上述S33中的按照生成的各數據提取屬性信息在生成數據報表的過程中,確定出現不能提取到至少一個展現元素對應的數據,其流程如圖4,包括:S40:獲得要生成的數據報表的第一標識信息。根據該數據報表的第一標識信息來獲取生成該數據報表的展現元素對應的數據。S41:在各關聯元素、數據表標識元素和展現元素的數據提取屬性信息中,定位包含獲得的第一標識信息的各數據提取屬性信息。在存儲的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息中查找包含該第一標識信息的各數據提取屬性信息。繼續沿用上例,可以查找包含0001的各數據提取屬性信息。S42:判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否都存在;當判斷結果為不都存在時,執行S47 ;當判斷結果為都存在時,執行S43。繼續沿用上例,首先判斷數據表A、B、C是否存在,只有當數據表A、B、C都存在時才能進行后續提取數據報表所需的數據,否則無法生成數據報表。S43:在定位到的各數據提取屬性信息中確定包含用于表征元素為關聯元素的標志的數據提取屬性信息。S44:判斷確定的數據提取屬性信息中包含的各第二標識信息分別對應的數據表中是否包含全部關聯元素對應的數據,當判斷結果為不包含全部關聯元素對應的數據時,執行S47 ;當判斷結果為包含全部關聯元素對應的數據時,執行S45。當確定數據表A、B、C存在時,定位關聯元素對應的數據是否存在,只有關聯元素對應的數據存在時,才能進行后續提取數據報表所需的數據,否則無法生成數據報表。S45:判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否存在全部展現元素對應的數據,當判斷結果為都存在時,執行S46 ;當判斷結果為不都存在時,執行S47。S46:確定可以提取到所有的展現元素對應的數據。S47:確定出現不能提取到至少一個展現元素對應的數據。經過上述判斷過程之后,就可以知道是因為缺少數據表標識對應的數據、缺少關聯元素對應的數據還是缺少展現元素對應的數據,導致的出現不能提取到至少一個展現元素對應的數據,這樣就可以及時、準確定位不能提取數據的缺省元素的原因了。具體的,上述S33中的根據各數據提取屬性信息中分別包含的權重分值,確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值,包括:確定數據表標識元素分別對應的數據提取屬性信息中分別包含的權重分值的第一和值;確定不能提取到對應數據的展現元素分別對應的數據提取屬性信息中分別包含的權重分值的第二和值;將確定的第一和值與第二和值的差值除以能提取到對應數據的展現元素的個數值所得的商值,作為數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。繼續沿用上例,假設用戶請求的數據報表中的B4元素不存在,那么需要確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。首先確定數據表標識元素分別對應的數據提取屬性信息中分別包含的權重分值的第一和值,數據表標識元素A、B、C的數據提取屬性信息中的權重分值分別為2、1、1,所以第一和值為4 ;不能提取到對應數據的展現元素只有一個,為B4,其數據提取屬性信息中的權重分值為0.5,所以第二和值為
0.5 ;第一和值與第二和值的差值為4-0.5 = 3.5,其與能提取到對應數據的展現元素的個數值4的商值為0.875,所以得到數據報表0001在缺省不能提取到對應數據的展現元素B4時具有的容錯度值為0.875。假設設定閾值為0.8,根據S34-S36的判斷過程,可以展示如圖5所示的數據報表;假設設定閾值為0.9,根據S34-S36的判斷過程,則可以展示“B4元素不存在,報表為展現,請核實! ”的信息。由于可以確定缺省不能提取到對應數據的展現元素,直接就可以定位缺省的展現元素對應的數據發生了變化,從而可以直接針對該展現元素對應的數據及時維護。基于同一發明構思,本發明實施例提供一種數據報表生成裝置,該裝置使用上述的數據報表生成方法生成數據報表,該裝置的結構如圖6所示,包括:查詢語句獲取單元60,用于獲取用于生成用戶請求的數據報表的查詢語句;元素確定單元61,用于確定獲取的查詢語句中包含的關聯元素、數據表標識元素和展現元素,關聯元素與查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,展現元素為用戶請求的數據報表中需要展現的元素,展現元素對應的數據和關聯元素對應的數據是從數據表標識元素對應的數據表中提取的;提取屬性信息生成單元62,用于生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度;
容錯度值確定單元63,用于按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值;報表生成單元64,用于在確定的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據報表。具體的,上述提取屬性信息生成單元62,具體用于針對查詢語句中包含的每個元素,分別執行:確定用戶請求的數據報表的第一標識信息;并分別確定該元素的元素類型信息、所在的數據表的第二標識信息、用于表征該元素是否為關聯元素的標志和用于表征該元素在數據報表中的重要程度的權重分值;將確定的第一標識信息、元素類型信息、第二標識信息、標志和權重分值構成的五元組信息作為該元素的數據提取屬性信息。具體的,上述容錯度值確定單元63,具體用于獲得要生成的數據報表的第一標識信息;在各關聯元素、數據表標識元素和展現元素的數據提取屬性信息中,定位包含獲得的第一標識信息的各數據提取屬性信息;判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否都存在;當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據;當判斷結果為都存在時,在定位到的各數據提取屬性信息中確定包含用于表征元素為關聯元素的標志的數據提取屬性信息;判斷確定的數據提取屬性信息中包含的各第二標識信息分別對應的數據表中是否包含全部關聯元素對應的數據;當判斷結果為不包含全部關聯元素對應的數據時,確定出現不能提取到至少一個展現元素對應的數據;當判斷結果為包含全部關聯元素對應的數據時,判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否存在全部展現元素對應的數據;當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據。具體的,上述容錯度值確定單元63,具體用于確定數據表標識元素分別對應的數據提取屬性信息中分別包含的權重分值的第一和值;并確定不能提取到對應數據的展現元素分別對應的數據提取屬性信息中分別包含的權重分值的第二和值;將確定的第一和值與第二和值的差值除以能提取到對應數據的展現元素的個數值所得的商值,作為數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種數據報表生成方法,其特征在于,包括: 獲取用于生成用戶請求的數據報表的查詢語句; 確定獲取的所述查詢語句中包含的關聯元素、數據表標識元素和展現元素,所述關聯元素與所述查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,所述展現元素為用戶請求的數據報表中需要展現的元素,所述展現元素對應的數據和關聯元素對應的數據是從所述數據表標識元素對應的數據表中提取的;生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,所述數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度;按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值; 在確定的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據手艮表。
2.如權利要求1所述的方法,其特征在于,生成分別對應確定的各關聯元素、數據表標識元素和展現元 素的數據提取屬性信息,包括: 針對所述查詢語句中包含的每個元素,分別執行: 確定用戶請求的數據報表的第一標識信息;并 分別確定該元素的元素類型信息、所在的數據表的第二標識信息、用于表征該元素是否為關聯元素的標志和用于表征該元素在數據報表中的重要程度的權重分值; 將確定的第一標識信息、元素類型信息、第二標識信息、所述標志和權重分值構成的五元組信息作為該元素的數據提取屬性信息。
3.如權利要求2所述的方法,其特征在于,確定用于表征該元素在數據報表中的重要程度的權重分值,具體包括: 若該元素為關聯元素,則將該關聯元素與所述查詢語句中的其他關聯元素關聯的次數作為該元素的權重分值; 若該元素為數據表標識元素,則將該元素對應的數據表中包含的關聯元素的權重分值的和值,作為該元素的權重分值; 若該元素為展現元素且不是關聯元素時,則將該元素所在的數據表對應的數據表標識元素的權重分值與將該元素所在的數據表中不是關聯元素的展現元素的個數的比值,作為該元素的權重分值。
4.如權利要求2或3所述的方法,其特征在于,按照生成的各數據提取屬性信息在生成數據報表的過程中,確定出現不能提取到至少一個展現元素對應的數據,包括: 獲得要生成的數據報表的第一標識信息; 在各關聯元素、數據表標識元素和展現元素的數據提取屬性信息中,定位包含獲得的第一標識信息的各數據提取屬性信息; 判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否都存在; 當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據; 當判斷結果為都存在時,在定位到的各數據提取屬性信息中確定包含用于表征元素為關聯元素的標志的數據提取屬性信息; 判斷確定的數據提取屬性信息中包含的各第二標識信息分別對應的數據表中是否包含全部關聯元素對應的數據; 當判斷結果為不包含全部關聯元素對應的數據時,確定出現不能提取到至少一個展現元素對應的數據; 當判斷結果為包含全部關聯元素對應的數據時,判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否存在全部展現元素對應的數據; 當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據。
5.如權利 要求1所述的方法,其特征在于,根據各數據提取屬性信息中分別包含的權重分值,確定所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值,包括: 確定數據表標識元素分別對應的數據提取屬性信息中分別包含的權重分值的第一和值; 確定不能提取到對應數據的展現元素分別對應的數據提取屬性信息中分別包含的權重分值的第二和值; 將確定的第一和值與第二和值的差值除以能提取到對應數據的展現元素的個數值所得的商值,作為所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。
6.如權利要求1所述的方法,其特征在于,還包括: 在確定的容錯度值小于等于設定閾值時,生成不能提取到對應數據的展現元素的信息和數據報表不能展現的提示信息。
7.一種數據報表生成裝置,其特征在于,包括: 查詢語句獲取單元,用于獲取用于生成用戶請求的數據報表的查詢語句; 元素確定單元,用于確定獲取的所述查詢語句中包含的關聯元素、數據表標識元素和展現元素,所述關聯元素與所述查詢語句中包含的數據表標識元素對應的數據表中的元素存在關聯關系,所述展現元素為用戶請求的數據報表中需要展現的元素,所述展現元素對應的數據和關聯元素對應的數據是從所述數據表標識元素對應的數據表中提取的; 提取屬性信息生成單元,用于生成分別對應確定的各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,所述數據提取屬性信息中包含權重分值,用于表征對應的元素在數據報表中的重要程度; 容錯度值確定單元,用于按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值; 報表生成單元,用于在確定的容錯度值大于設定閾值時,生成缺省不能提取到對應數據的展現元素的數據報表。
8.如權利要求7所述的裝置,其特征在于,所述提取屬性信息生成單元,具體用于針對所述查詢語句中包含的每個元素,分別執行:確定用戶請求的數據報表的第一標識信息;并分別確定該元素的元素類型信息、所在的數據表的第二標識信息、用于表征該元素是否為關聯元素的標志和用于表征該元素在數據報表中的重要程度的權重分值;將確定的第一標識信息、元素類型信息、第二標識信息、所述標志和權重分值構成的五元組信息作為該元素的數據提取屬性信息。
9.如權利要求8所述的裝置,其特征在于,所述容錯度值確定單元,具體用于獲得要生成的數據報表的第一標識信息;在各關聯元素、數據表標識元素和展現元素的數據提取屬性信息中,定位包含獲得的第一標識信息的各數據提取屬性信息;判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否都存在;當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據;當判斷結果為都存在時,在定位到的各數據提取屬性信息中確定包含用于表征元素為關聯元素的標志的數據提取屬性信息;判斷確定的數據提取屬性信息中包含的各第二標識信息分別對應的數據表中是否包含全部關聯元素對應的數據;當判斷結果為不包含全部關聯元素對應的數據時,確定出現不能提取到至少一個展現元素對應的數據;當判斷結果為包含全部關聯元素對應的數據時,判斷在定位到的各數據提取屬性信息中包含的各第二標識信息分別對應的數據表是否存在全部展現元素對應的數據;當判斷結果為不都存在時,確定出現不能提取到至少一個展現元素對應的數據。
10.如權利要求7所述的裝置,其特征在于,所述容錯度值確定單元,具體用于確定數據表標識元素分別對應的數據提取屬性信息中分別包含的權重分值的第一和值;并確定不能提取到對應數據的展現元素分別對應的數據提取屬性信息中分別包含的權重分值的第二和值;將確定的 第一和值與第二和值的差值除以能提取到對應數據的展現元素的個數值所得的商值,作為所述數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值。
全文摘要
本發明公開了數據報表生成方法及其裝置,該方法包括獲取用于生成用戶請求的數據報表的查詢語句;確定該查詢語句中包含的關聯元素、數據表標識元素和展現元素;生成分別對應各關聯元素、數據表標識元素和展現元素的數據提取屬性信息,數據提取屬性信息中包含權重分值;按照生成的各數據提取屬性信息在生成數據報表的過程中,若出現不能提取到至少一個展現元素對應的數據時,根據各數據提取屬性信息中分別包含的權重分值,確定數據報表在缺省不能提取到對應數據的展現元素時具有的容錯度值大于設定閾值時,生成缺省的展現元素的數據報表。該方案可生成不包含缺省展現元素的數據報表,及時、準確地定位不能生成所需數據報表的故障原因。
文檔編號G06F17/24GK103198071SQ20121000376
公開日2013年7月10日 申請日期2012年1月6日 優先權日2012年1月6日
發明者魏瑞云 申請人:中國移動通信集團山東有限公司