專利名稱:一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及公安交通管理信息系統(tǒng)的實(shí)時(shí)統(tǒng)計(jì)報(bào)表的技術(shù)領(lǐng)域,具體為一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法。
背景技術(shù):
目前全國公安隨著公安交通管理綜合應(yīng)用平臺(tái)的建設(shè),交管信息系統(tǒng)對(duì)數(shù)據(jù)資源、軟硬件平臺(tái)、業(yè)務(wù)流程、軟件功能、信息服務(wù)、安全保障體系、標(biāo)準(zhǔn)規(guī)范體系、運(yùn)行維護(hù)管理等進(jìn)行整合,進(jìn)一步促進(jìn)信息共享,便捷民警操作,提高信息資源利用水平。但是隨著整合的深入,各地對(duì)數(shù)據(jù)統(tǒng)計(jì)分析的需求越來越多,而傳統(tǒng)的統(tǒng)計(jì)報(bào)表開發(fā)模式需根據(jù)用戶需編寫各個(gè)統(tǒng)計(jì)功能模塊,導(dǎo)致重復(fù)性的工作量巨大,傳統(tǒng)的統(tǒng)計(jì)報(bào)表開發(fā)模式其一張報(bào)表需要開發(fā)一個(gè)對(duì)應(yīng)的程序,其已經(jīng)不能適應(yīng)日益增長的統(tǒng)計(jì)分析需求,為此需要在研究統(tǒng)計(jì)報(bào)表構(gòu)成的要素基礎(chǔ)上,確定統(tǒng)計(jì)報(bào)表各要素的描述方式,建立統(tǒng)計(jì)報(bào)表專用描述語言,開發(fā)專用描述語言的解釋模塊生成各種統(tǒng)計(jì)功能,通過該方法使統(tǒng)計(jì)功能編寫由程序開發(fā)型轉(zhuǎn)變?yōu)槊枋稣Z言配置型,減少統(tǒng)計(jì)模塊的編寫工作量,也便于了統(tǒng)計(jì)功能邏輯的管理。
發(fā)明內(nèi)容
針對(duì)上述問題,本發(fā)明提供了一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,通過該方法所生成實(shí)時(shí)統(tǒng)計(jì)報(bào)表的效率高。一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于預(yù)先設(shè)置好報(bào)表功能生成程序的總體框架,將總體框架內(nèi)的報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式設(shè)為自定義模塊,當(dāng)報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式四項(xiàng)被分別定義后,報(bào)表功能生成程序?qū)⑸鲜龆x轉(zhuǎn)換為各類統(tǒng)計(jì)功能,之后整個(gè)程序自動(dòng)生成完整的算法,并按照順序?qū)崿F(xiàn)數(shù)據(jù)抽取、數(shù)據(jù)填充和報(bào)表輸出功能。其進(jìn)一步特征在于
報(bào)表格式定義用于描述統(tǒng)計(jì)報(bào)表χ軸向標(biāo)題及Y軸向標(biāo)題;
報(bào)表數(shù)據(jù)內(nèi)容填寫定義用于描述如何將統(tǒng)計(jì)結(jié)果數(shù)據(jù)定位到統(tǒng)計(jì)報(bào)表相應(yīng)的單元中, 包括X軸和Y軸向數(shù)據(jù)定位定義;
數(shù)據(jù)統(tǒng)計(jì)方式定義用于描述如何從數(shù)據(jù)庫抽取統(tǒng)計(jì)報(bào)表所需的數(shù)據(jù),主要包括聚類字段、分組字段、統(tǒng)計(jì)條件、數(shù)據(jù)表名、同比環(huán)比定義及計(jì)算字段定義六個(gè)部分;
圖表生成方式用于描述統(tǒng)計(jì)圖表的類型和圖表對(duì)應(yīng)的報(bào)表數(shù)據(jù)源,統(tǒng)計(jì)圖表的類型包括餅圖、柱圖、折線圖等類型;
數(shù)據(jù)抽取根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義內(nèi)容,轉(zhuǎn)換為相應(yīng)的SQL語句抽取統(tǒng)計(jì)結(jié)果數(shù)據(jù),并將統(tǒng)計(jì)結(jié)果數(shù)據(jù)轉(zhuǎn)化為以Map為單元的列表;
數(shù)據(jù)填充根據(jù)報(bào)表格式定義生成報(bào)表X軸與Y軸信息,并初始化報(bào)表結(jié)果數(shù)據(jù),報(bào)表結(jié)果數(shù)據(jù)采用二維數(shù)據(jù)組結(jié)構(gòu)。然后在根據(jù)報(bào)表數(shù)據(jù)內(nèi)容填寫定義生成X軸Map和Y軸Map的基礎(chǔ)上,將統(tǒng)計(jì)結(jié)果數(shù)據(jù)填寫至報(bào)表結(jié)果數(shù)據(jù)中;再根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義處理計(jì)算字段信息,根據(jù)圖表生成方式將報(bào)表結(jié)果數(shù)據(jù)由報(bào)表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為圖表數(shù)據(jù)結(jié)構(gòu); 報(bào)表輸出則根據(jù)報(bào)表對(duì)象生成統(tǒng)計(jì)報(bào)表、圖表結(jié)果數(shù)據(jù)生成相應(yīng)的圖表。采用本發(fā)明的后,只需分別定義下報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、 圖表生成方式,報(bào)表功能生成程序?qū)⑸鲜龆x轉(zhuǎn)換為各類統(tǒng)計(jì)功能,之后整個(gè)程序自動(dòng)生成完整的算法,并按照順序?qū)崿F(xiàn)數(shù)據(jù)抽取、數(shù)據(jù)填充和報(bào)表輸出功能,其無需再按照每個(gè)報(bào)表單獨(dú)編輯一套程序算法,只需分別給出定義,通過該方法所生成實(shí)時(shí)統(tǒng)計(jì)報(bào)表的效率高。
圖1為本發(fā)明的方法流程示意框圖; 圖2為本發(fā)明的方法的核心算法邏輯圖。
具體實(shí)施例方式一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,見圖1,預(yù)先設(shè)置好報(bào)表功能生成程序的總體框架,將總體框架內(nèi)的報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式設(shè)為自定義模塊,當(dāng)報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式四項(xiàng)被分別定義后, 報(bào)表功能生成程序?qū)⑸鲜龆x轉(zhuǎn)換為各類統(tǒng)計(jì)功能,之后整個(gè)程序自動(dòng)生成完整的算法, 并按照順序?qū)崿F(xiàn)數(shù)據(jù)抽取、數(shù)據(jù)填充和報(bào)表輸出功能。報(bào)表格式定義用于描述統(tǒng)計(jì)報(bào)表X軸向標(biāo)題及Y軸向標(biāo)題;該定義對(duì)于X軸向和軸向標(biāo)題層數(shù)最多支持三個(gè)層次,每層定義包含“層類型”和“層內(nèi)容定義”兩個(gè)數(shù)據(jù)項(xiàng)目。 “層類型”主要包括以下三種方式
a)代碼動(dòng)態(tài)類型,指當(dāng)前層標(biāo)題內(nèi)容根據(jù)層說明指定代碼內(nèi)容,如存在下層標(biāo)題,下層標(biāo)題按當(dāng)前各代碼項(xiàng)循環(huán)輸出;
b)固定不循環(huán)類型,指當(dāng)前標(biāo)題內(nèi)容按照“層內(nèi)容定義”描述的固定內(nèi)容輸出,如存在下層標(biāo)題,下層標(biāo)題不按照當(dāng)前各標(biāo)題數(shù)據(jù)項(xiàng)循環(huán)輸出;
c)固定循環(huán)類型,指當(dāng)前標(biāo)題內(nèi)容按照“層內(nèi)容定義”描述的固定內(nèi)容輸出,如存在下層標(biāo)題,下層標(biāo)題按照當(dāng)前各標(biāo)題數(shù)據(jù)項(xiàng)循環(huán)輸出;
“層內(nèi)容定義”格式如下[單元值1 (或代碼類別),列合并數(shù)1 (或行合并數(shù))#單元
值2 (或代碼類別),列合并數(shù)2 (或行合并數(shù))#......],其中“,”和“ # ”為分割符,當(dāng)“層
類型”為a時(shí)為指定代碼類別,“層類型”為b,c時(shí),為具體單元值,可支持N個(gè)單元定義(N 為自然數(shù))。報(bào)表數(shù)據(jù)內(nèi)容填寫定義用于描述如何將統(tǒng)計(jì)結(jié)果數(shù)據(jù)定位到統(tǒng)計(jì)報(bào)表相應(yīng)的單元中,包括X軸和Y軸向數(shù)據(jù)定位定義;支持固定定位和代碼動(dòng)態(tài)定位兩種方式。其定義格
式如下[字段名I jlzd$ (代碼類別)字段值@定位索引值#......],其中“字段名”對(duì)應(yīng)
統(tǒng)計(jì)結(jié)果對(duì)應(yīng)的輸出列名,“jlzd$”對(duì)應(yīng)統(tǒng)計(jì)方式定中的聚類字段,“定位索引值”為報(bào)表X 軸向或Y軸向輸出的順序號(hào),“(”、“)”、“@”、“#”為分割符號(hào)。固定定位方式需明確X軸向或Y軸向所有的索引值,其定義格式為[字段名 jizd$ ():字段值@定位索引值#......]。動(dòng)態(tài)定位方位不需要明確X軸向或Y軸向的索引
值,其根據(jù)某代碼類別代碼循環(huán)生成,其定義格式為[字段名(代碼類別)*@*#......],
4其中“*”表示字段值循環(huán)取該代碼類別的代碼值,定位索引值循環(huán)取代碼順序號(hào)。數(shù)據(jù)統(tǒng)計(jì)方式定義用于描述如何從數(shù)據(jù)庫抽取統(tǒng)計(jì)報(bào)表所需的數(shù)據(jù),主要包括聚類字段、分組字段、統(tǒng)計(jì)條件、數(shù)據(jù)表名、同比環(huán)比定義及計(jì)算字段定義六個(gè)部分;
聚類字段對(duì)應(yīng)SQL語句中的統(tǒng)計(jì)字段,其定義格式如下[計(jì)算字段字段別
名,......],字段別名與報(bào)表數(shù)據(jù)內(nèi)容填寫定義中的“ j lzd$ ”、“字段值”對(duì)應(yīng);
分組字段對(duì)應(yīng)SQL語句中的分組字段,其定義格式如下[分組字段字段別名,
......],字段別名與報(bào)表數(shù)據(jù)內(nèi)容填寫定義中的“字段名,,相對(duì)應(yīng);
統(tǒng)計(jì)條件對(duì)應(yīng)SQL語句中的Where部分,包含動(dòng)態(tài)條件和固定條件。動(dòng)態(tài)條件可根據(jù)傳入的參數(shù)確定抽取數(shù)據(jù)的范圍,其定義格式如下[表名.字段名,比較類型#.....],比較類型包括“等于”、“大于”、“大于等于”、“小于”、“小于等于”等類型。固定條件是固定條件的SQL語句;
數(shù)據(jù)表名對(duì)應(yīng)SQL語句中的選擇表名部分,包括主表定義和從表定義。主表定義格式如下[表名表別名],從表定義格式如下[從表別名,從表名,與主表連接SQL,連接方
式#......],與主表連接SQL指與主表關(guān)聯(lián)SQL,連接方式包換普通連接和Exists連接方
式;
同比環(huán)比定義用于指定日期類型條件字段作為同比或環(huán)比字段,報(bào)表功能生成模塊根據(jù)設(shè)定字段生成同比或環(huán)比統(tǒng)計(jì)數(shù)據(jù);
計(jì)算字段定義用于描述統(tǒng)計(jì)報(bào)表計(jì)算列生成方法,其定義格式如下[計(jì)算類型(源數(shù)
據(jù)列索引)@計(jì)算列索引#......]。計(jì)算類型包括百分比、同期增減數(shù)、同期增減率、環(huán)比增
減、環(huán)比增減率。源數(shù)據(jù)列索引只用于指定報(bào)表數(shù)據(jù)的某列作為計(jì)算數(shù)據(jù),計(jì)算列索引用于指定根據(jù)計(jì)算類型生成的數(shù)據(jù)結(jié)果填寫至報(bào)表的某列。圖表生成方式用于描述統(tǒng)計(jì)圖表的類型和圖表對(duì)應(yīng)的報(bào)表數(shù)據(jù)源,統(tǒng)計(jì)圖表的類型包括餅圖、柱圖、折線圖等類型;圖表數(shù)據(jù)源可支持多個(gè)報(bào)表結(jié)果數(shù)據(jù)列,其定義格式如
下[數(shù)據(jù)列索引,圖表數(shù)據(jù)名稱#......],數(shù)據(jù)列索引與統(tǒng)計(jì)報(bào)表數(shù)據(jù)列索引對(duì)應(yīng),圖表
數(shù)據(jù)名稱根據(jù)數(shù)據(jù)內(nèi)容含義自行定義。數(shù)據(jù)抽取根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義內(nèi)容,轉(zhuǎn)換為相應(yīng)的SQL語句抽取統(tǒng)計(jì)結(jié)果數(shù)據(jù),并將統(tǒng)計(jì)結(jié)果數(shù)據(jù)轉(zhuǎn)化為以Map為單元的列表;
數(shù)據(jù)填充根據(jù)報(bào)表格式定義生成報(bào)表X軸與Y軸信息,并初始化報(bào)表結(jié)果數(shù)據(jù),報(bào)表結(jié)果數(shù)據(jù)采用二維數(shù)據(jù)組結(jié)構(gòu)。然后在根據(jù)報(bào)表數(shù)據(jù)內(nèi)容填寫定義生成X軸Map和Y軸Map 的基礎(chǔ)上,將統(tǒng)計(jì)結(jié)果數(shù)據(jù)填寫至報(bào)表結(jié)果數(shù)據(jù)中;再根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義處理計(jì)算字段信息,根據(jù)圖表生成方式將報(bào)表結(jié)果數(shù)據(jù)由報(bào)表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為圖表數(shù)據(jù)結(jié)構(gòu); 報(bào)表輸出則根據(jù)報(bào)表對(duì)象生成統(tǒng)計(jì)報(bào)表、圖表結(jié)果數(shù)據(jù)生成相應(yīng)的圖表。
權(quán)利要求
1.一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于預(yù)先設(shè)置好報(bào)表功能生成程序的總體框架,將總體框架內(nèi)的報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式設(shè)為自定義模塊,當(dāng)報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式四項(xiàng)被分別定義后,報(bào)表功能生成程序?qū)⑸鲜龆x轉(zhuǎn)換為各類統(tǒng)計(jì)功能,之后整個(gè)程序自動(dòng)生成完整的算法,并按照順序?qū)崿F(xiàn)數(shù)據(jù)抽取、數(shù)據(jù)填充和報(bào)表輸出功能。
2.根據(jù)權(quán)利要求1所述的一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于所述的報(bào)表格式定義用于描述統(tǒng)計(jì)報(bào)表X軸向標(biāo)題及Y軸向標(biāo)題;所述的報(bào)表數(shù)據(jù)內(nèi)容填寫定義用于描述如何將統(tǒng)計(jì)結(jié)果數(shù)據(jù)定位到統(tǒng)計(jì)報(bào)表相應(yīng)的單元中,包括X軸和Y軸向數(shù)據(jù)定位定義;所述的數(shù)據(jù)統(tǒng)計(jì)方式定義用于描述如何從數(shù)據(jù)庫抽取統(tǒng)計(jì)報(bào)表所需的數(shù)據(jù),主要包括聚類字段、分組字段、統(tǒng)計(jì)條件、數(shù)據(jù)表名、同比環(huán)比定義及計(jì)算字段定義六個(gè)部分;所述的圖表生成方式用于描述統(tǒng)計(jì)圖表的類型和圖表對(duì)應(yīng)的報(bào)表數(shù)據(jù)源,統(tǒng)計(jì)圖表的類型包括餅圖、柱圖、折線圖等類型。
3.根據(jù)權(quán)利要求2所述的一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于所述的數(shù)據(jù)抽取根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義內(nèi)容,轉(zhuǎn)換為相應(yīng)的SQL語句抽取統(tǒng)計(jì)結(jié)果數(shù)據(jù),并將統(tǒng)計(jì)結(jié)果數(shù)據(jù)轉(zhuǎn)化為以Map為單元的列表。
4.根據(jù)權(quán)利要求3所述的一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于所述的數(shù)據(jù)填充根據(jù)報(bào)表格式定義生成報(bào)表X軸與Y軸信息,并初始化報(bào)表結(jié)果數(shù)據(jù),報(bào)表結(jié)果數(shù)據(jù)采用二維數(shù)據(jù)組結(jié)構(gòu)。然后在根據(jù)報(bào)表數(shù)據(jù)內(nèi)容填寫定義生成X軸Map和Y軸Map的基礎(chǔ)上, 將統(tǒng)計(jì)結(jié)果數(shù)據(jù)填寫至報(bào)表結(jié)果數(shù)據(jù)中;再根據(jù)數(shù)據(jù)統(tǒng)計(jì)方式定義處理計(jì)算字段信息,根據(jù)圖表生成方式將報(bào)表結(jié)果數(shù)據(jù)由報(bào)表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為圖表數(shù)據(jù)結(jié)構(gòu)。
5.根據(jù)權(quán)利要求4所述的一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,其特征在于所述的報(bào)表輸出根據(jù)報(bào)表對(duì)象生成統(tǒng)計(jì)報(bào)表、圖表結(jié)果數(shù)據(jù)生成相應(yīng)的圖表。
全文摘要
本發(fā)明提供了一種實(shí)時(shí)統(tǒng)計(jì)報(bào)表的生成方法,通過該方法所生成實(shí)時(shí)統(tǒng)計(jì)報(bào)表的效率高。其特征在于預(yù)先設(shè)置好報(bào)表功能生成程序的總體框架,將總體框架內(nèi)的報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式設(shè)為自定義模塊,當(dāng)報(bào)表格式、報(bào)表數(shù)據(jù)內(nèi)容填寫、數(shù)據(jù)統(tǒng)計(jì)方式、圖表生成方式四項(xiàng)被分別定義后,報(bào)表功能生成程序?qū)⑸鲜龆x轉(zhuǎn)換為各類統(tǒng)計(jì)功能,之后整個(gè)程序自動(dòng)生成完整的算法,并按照順序?qū)崿F(xiàn)數(shù)據(jù)抽取、數(shù)據(jù)填充和報(bào)表輸出功能。
文檔編號(hào)G06F17/24GK102222105SQ20111017090
公開日2011年10月19日 申請(qǐng)日期2011年6月23日 優(yōu)先權(quán)日2011年6月23日
發(fā)明者季君, 武紅斌, 江海龍, 邵志驊, 陳學(xué)浩 申請(qǐng)人:公安部交通管理科學(xué)研究所