[發(fā)明專利]一種支持關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)自由組合嵌套的統(tǒng)計(jì)表述方法有效
| 申請(qǐng)?zhí)枺?/td> | 201610975724.7 | 申請(qǐng)日: | 2016-11-07 |
| 公開(公告)號(hào): | CN106599039B | 公開(公告)日: | 2021-01-15 |
| 發(fā)明(設(shè)計(jì))人: | 朱偉統(tǒng) | 申請(qǐng)(專利權(quán))人: | 深圳市睿捷軟件技術(shù)有限公司 |
| 主分類號(hào): | G06F16/28 | 分類號(hào): | G06F16/28 |
| 代理公司: | 深圳市徽正知識(shí)產(chǎn)權(quán)代理有限公司 44405 | 代理人: | 盧杏艷 |
| 地址: | 518000 廣東省深圳*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 支持 關(guān)系 數(shù)據(jù)庫(kù) 數(shù)據(jù) 自由 組合 嵌套 統(tǒng)計(jì) 表述 方法 | ||
1.一種支持關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)自由組合嵌套的統(tǒng)計(jì)表述方法,其特征在于:源表定制只需勾選數(shù)據(jù)庫(kù)中的任意相關(guān)數(shù)據(jù),并確定被選擇的表間關(guān)聯(lián)關(guān)系,所述方法步驟為:
(1)點(diǎn)擊新建源表,選擇數(shù)據(jù)庫(kù),點(diǎn)擊下一步;
(2)程序顯示被選擇數(shù)據(jù)庫(kù)中包含的所有表及字段供用戶選擇,用戶勾選所需數(shù)據(jù),點(diǎn)擊下一步;
(3)程序提示被選擇的表間關(guān)聯(lián)關(guān)系供用戶確認(rèn),若正確則點(diǎn)擊下一步,否則用戶可讓程序重新規(guī)劃表間關(guān)聯(lián),或手動(dòng)修改表間關(guān)聯(lián)關(guān)系;
(4)最后確認(rèn)已選擇的數(shù)據(jù),點(diǎn)擊確定完成源表定制;
通過對(duì)用戶統(tǒng)計(jì)需求進(jìn)行分解,具體概念解析如下:
(1)一般列:在所述統(tǒng)計(jì)表述方法中,一般列具有鍵值意義,即一般列中的重復(fù)記錄會(huì)被過濾,除非同樣具有鍵值意義的匯總列不重復(fù),此特性確保統(tǒng)計(jì)結(jié)果中每一行記錄的非計(jì)算列都是唯一的;
(2)匯總列:在所述統(tǒng)計(jì)表述方法中,匯總列具有鍵值意義,即匯總列中的重復(fù)記錄會(huì)被過濾,除非同樣具有鍵值意義的一般列不重復(fù),此特性確保統(tǒng)計(jì)結(jié)果中每一行記錄的非計(jì)算列都是唯一的;匯總列設(shè)置一個(gè)或多個(gè)匯總算法,每個(gè)匯總算法會(huì)產(chǎn)生一個(gè)匯總行;一個(gè)統(tǒng)計(jì)表中可以設(shè)置多個(gè)匯總列,當(dāng)設(shè)置多個(gè)匯總列時(shí),用戶為各匯總列設(shè)置不同的匯總級(jí)別,程序會(huì)從低級(jí)別往高級(jí)別依次進(jìn)行匯總計(jì)算;如果用戶不設(shè)置匯總級(jí)別,或者匯總級(jí)別中存在重復(fù),那么在統(tǒng)計(jì)表中次序排后的列會(huì)被優(yōu)先進(jìn)行匯總;在所述統(tǒng)計(jì)表述方法中,所有匯總行數(shù)據(jù)是從已經(jīng)得到計(jì)算的非匯總行數(shù)據(jù)中計(jì)算而來;
(3)聚合計(jì)算列:在所述統(tǒng)計(jì)表述方法中,給任何列設(shè)置聚合算法,程序會(huì)將該列的所有值進(jìn)行聚合計(jì)算,列的數(shù)據(jù)類型不影響聚合計(jì)算列的設(shè)置,而只影響可供選擇的聚合算法;聚合計(jì)算列必須設(shè)置一個(gè)或多個(gè)聚合算法,若聚合算法有多個(gè),表格形式輸出時(shí)會(huì)以子列形式顯示;若統(tǒng)計(jì)表還包含一般列和匯總列,那么程序會(huì)以一般列和匯總列的值唯一為依據(jù)進(jìn)行聚合計(jì)算;
(4)展開列:在所述統(tǒng)計(jì)表述方法中,展開列將列的內(nèi)容作為列名生成多個(gè)列顯示,展開列嵌套展開列或聚合計(jì)算列,程序允許用戶根據(jù)需要任意多層次嵌套列,且每個(gè)嵌套列都有一個(gè)或多個(gè)子列,嵌套列分支的深度不必相等,但每一嵌套列分支都必須有且只有一個(gè)聚合計(jì)算列,以上一般列和匯總列視為以行的方式切分計(jì)算列數(shù)據(jù),則展開列以列的方式切分計(jì)算列的數(shù)據(jù);
(5)合并計(jì)算列:在所述統(tǒng)計(jì)表述方法中,將2個(gè)或多個(gè)源表中的列合并為統(tǒng)計(jì)表中的一個(gè)列,并設(shè)置合并算法;
(6)算法:在所述統(tǒng)計(jì)表述方法中,將以上概念視為相關(guān)性數(shù)據(jù)的組織形式,則組織之后的輸出表格的單元格按其存放的數(shù)據(jù)可以分為三類,一類存放普通值,即表頭和主鍵列,一類存放數(shù)組即聚合計(jì)算列,另一類存放矩陣即合并計(jì)算列,算法則是將數(shù)組或矩陣變成一個(gè)值輸出的方法;系統(tǒng)預(yù)定義的算法有合計(jì)求和、求方差、求標(biāo)準(zhǔn)差、求乘積、取均值、取最大值、取最小值、取第一個(gè)元素、當(dāng)成字符串并用逗號(hào)連接、求取值計(jì)數(shù),用戶選擇以上算法,或采用公式的方式自定義算法,系統(tǒng)支持以下操作符乘以*、加上+、減去-、除以/、乘方^,并且在公式中調(diào)用系統(tǒng)預(yù)定義算法;
(7)分段:在所述統(tǒng)計(jì)表述方法中,當(dāng)用戶不關(guān)心具體準(zhǔn)確取值,或者需要依據(jù)某種分類來顯示數(shù)據(jù),則對(duì)取值進(jìn)行分段處理,其支持線性分段即將取值按某些特定點(diǎn)分成幾個(gè)段,集合分段即將可能的取值集合劃分為幾個(gè)小集合,日期分段即允許用戶對(duì)日期信息進(jìn)行提取,形象的看,分段是一個(gè)處理函數(shù),它將源表數(shù)據(jù)變成另一個(gè)值看待并將依據(jù)它進(jìn)行統(tǒng)計(jì)處理,而不再關(guān)心其原值;
(8)排序:在所述統(tǒng)計(jì)表述方法中,允許對(duì)統(tǒng)計(jì)表所包含的列設(shè)置排序;若為匯總列或一般列,則按普通規(guī)則進(jìn)行排序,并遵從如下規(guī)則:匯總級(jí)別高的排序優(yōu)先于匯總級(jí)別低的排序,所有匯總列排序優(yōu)先于一般列排序,若多個(gè)一般列設(shè)置了排序,則排序優(yōu)先級(jí)大的優(yōu)先排序,若多個(gè)一般列設(shè)置了排序且優(yōu)先級(jí)存在重復(fù),則先出現(xiàn)的列優(yōu)先排序;若為聚合計(jì)算列設(shè)置排序,必須設(shè)置其依據(jù)的聚合算法,除此之外排序規(guī)則視同一般列的排序規(guī)則,另外,不同于一般列的一點(diǎn)是,聚合計(jì)算列排序可以改變匯總列的排序,條件是匯總列不設(shè)置排序,而且聚合計(jì)算列設(shè)置排序且設(shè)置依據(jù)的匯總算法,這樣用戶讓匯總列按這個(gè)聚合列的匯總行的計(jì)算結(jié)果進(jìn)行排序,并且每個(gè)匯總級(jí)別的匯總列會(huì)都遵守這個(gè)規(guī)則,若有多個(gè)聚合計(jì)算列排序規(guī)則,其規(guī)則類同上面提到的多個(gè)一般列設(shè)置排序的規(guī)則;若為展開列設(shè)置排序,每一層級(jí)的展開列會(huì)按其設(shè)置進(jìn)行排序,而不影響其父級(jí)展開列的排序也不影響其子級(jí)展開列的排序;若為展開計(jì)算列設(shè)置排序,必須設(shè)置其依據(jù)的聚合算法,與展開列的排序不同的是,展開計(jì)算列的排序會(huì)改變其直接父級(jí)展開列的排序,這也是展開計(jì)算列排序的意義和作用,條件是其直接父級(jí)展開列不能設(shè)置排序規(guī)則;另一點(diǎn)規(guī)則是,所有匯總列、一般列、展開列的排序設(shè)置排序時(shí)依據(jù)其值或依據(jù)其顯示文本,有些單元格的值和顯示文本是一致的,但是很多情況下并不一致;
(9)顯示項(xiàng)限制:在所述統(tǒng)計(jì)表述方法中,允許對(duì)統(tǒng)計(jì)表所包含的列顯示項(xiàng)數(shù)量限制;若為匯總列設(shè)置顯示限制數(shù)n,那么該列最多只顯示n個(gè)匯總項(xiàng);若為一般列或聚合計(jì)算列設(shè)置顯示限制數(shù)n,那么每一個(gè)匯總項(xiàng)里面最多只有n行數(shù)據(jù),若一般列或聚合計(jì)算列中有多個(gè)設(shè)置了顯示數(shù),則取最小的一個(gè);若為展開列設(shè)置顯示限制數(shù)n,那么該展開列最多只產(chǎn)生n個(gè)展開項(xiàng);若為展開計(jì)算列設(shè)置顯示限制數(shù)n,與對(duì)其直接父級(jí)設(shè)置限制顯示數(shù)n的效果是一樣的;另外,所有列的顯示項(xiàng)限制通常會(huì)與排序同時(shí)使用,程序先執(zhí)行排序,再執(zhí)行顯示項(xiàng)限制;顯示項(xiàng)限制不會(huì)影響匯總行數(shù)據(jù),將其看成隱藏部分?jǐn)?shù)據(jù)的顯示,而不是刪除它們,所以不會(huì)影響匯總結(jié)果;
(10)鏈接:在所述統(tǒng)計(jì)表述方法中,允許用戶給統(tǒng)計(jì)表所包含的列設(shè)置鏈接;鏈接包含系統(tǒng)內(nèi)鏈接和系統(tǒng)外鏈接,系統(tǒng)內(nèi)鏈接是跳轉(zhuǎn)或打開在本系統(tǒng)中定義的其他任何圖表,包括自己,而系統(tǒng)外鏈接是跳轉(zhuǎn)或打開本系統(tǒng)之外的地址;若選擇系統(tǒng)內(nèi)鏈接,用戶必須選擇鏈接的統(tǒng)計(jì)表以及其輸出形式;用戶為鏈接選擇打開方式:跳轉(zhuǎn)或彈出層;用戶點(diǎn)擊鏈接會(huì)打開新的圖表,新的圖表在數(shù)據(jù)上與鏈接是對(duì)應(yīng)的,用戶在點(diǎn)擊鏈接時(shí),程序會(huì)將被點(diǎn)擊的單元格所在的行的主鍵列及其取值構(gòu)成鏈接條件,當(dāng)是展開列單元格的話,還會(huì)將單元格所在列的展開列及其取值也構(gòu)成鏈接條件,發(fā)送給新的圖表,若是系統(tǒng)內(nèi)鏈接,系統(tǒng)內(nèi)圖表都會(huì)正確解讀這些條件,若是系統(tǒng)外鏈接,那么鏈接的外部系統(tǒng)必須自己處理該條件,若放棄處理,同一列的鏈接打開都會(huì)是同樣的數(shù)據(jù);另外,每個(gè)主鍵列和展開列都是綁定一個(gè)源列,在鏈接跳轉(zhuǎn)的時(shí)候,條件中的列名是其源表列名,而不是統(tǒng)計(jì)表列名,而接收該條件的統(tǒng)計(jì)表進(jìn)行條件解釋的時(shí)候,也將其配備源表列名而不是匹配統(tǒng)計(jì)表列名,所以程序不要求統(tǒng)計(jì)表包含鏈接的源列一樣能夠顯示對(duì)應(yīng)數(shù)據(jù),但是程序要求源表中要有鏈接的源列,當(dāng)找不到時(shí),程序會(huì)忽略該條件分支,由于不確定是否是用戶有意需要忽略的,程序?qū)⑻崾居脩羲x擇鏈接的統(tǒng)計(jì)表中沒有對(duì)應(yīng)的源列,是否修改鏈接目標(biāo);在鏈接打開的圖表中點(diǎn)擊鏈接打開鏈接的鏈接時(shí),原鏈接產(chǎn)生的條件會(huì)疊加到新鏈接的條件中,所以二次跳轉(zhuǎn)的鏈接的數(shù)據(jù)是在雙重條件限制下的數(shù)據(jù),以此類推,所述統(tǒng)計(jì)表述方法的鏈接層數(shù)根據(jù)用戶需要進(jìn)行設(shè)置,不受鏈接層級(jí)數(shù)量的限制;
(11)輸出格式化:所述統(tǒng)計(jì)表述方法支持簡(jiǎn)單的格式化,也支持復(fù)雜的條件格式化,如v200?b{:.2f}/b\nv0?{:.2f},該表達(dá)式中v代表表格取值,?號(hào)之前為條件表達(dá)式,問號(hào)之后為格式化表達(dá)式,每一行代表一個(gè)條件格式化,程序從上往下對(duì)值進(jìn)行判斷,若符合條件則取其后面格式對(duì)值進(jìn)行格式化,并終止執(zhí)行;
(12)記錄數(shù):在所述統(tǒng)計(jì)表述方法中,在定制源表時(shí)我們會(huì)看到每個(gè)表包含字段中多了一個(gè)記錄數(shù),其實(shí)該記錄數(shù)并不在數(shù)據(jù)庫(kù)的表中,它是虛擬出來的列,用戶選擇它加入源表后需要的時(shí)候就拉入統(tǒng)計(jì)表中,它將自動(dòng)計(jì)算源表數(shù)據(jù)的記錄數(shù);
(13)自動(dòng)生成周期:在所述統(tǒng)計(jì)表述方法中,對(duì)于統(tǒng)計(jì)表來說,通常用戶關(guān)心的是過去一段時(shí)間的情況,前一小時(shí)、前一天、前一周、前一月,很少情況下用戶需要查看當(dāng)下數(shù)據(jù)情況,對(duì)于這些圖表,用戶設(shè)置自動(dòng)生成周期,這樣在用戶查看之前數(shù)據(jù)就已經(jīng)自動(dòng)生成不需要再運(yùn)行統(tǒng)計(jì),提高響應(yīng)時(shí)間和運(yùn)行效率;所述系統(tǒng)支持強(qiáng)大的自動(dòng)生成周期定義,用戶指定自動(dòng)生成周期,或設(shè)置約束時(shí)間參照的列,以及時(shí)間長(zhǎng)度,若用戶只設(shè)定生成周期,則統(tǒng)計(jì)表每生成周期運(yùn)行一次,其數(shù)據(jù)內(nèi)容包括運(yùn)行時(shí)間之前的所有數(shù)據(jù);若用戶只設(shè)置約束時(shí)間、時(shí)間長(zhǎng)度及單位,那么統(tǒng)計(jì)不會(huì)自動(dòng)運(yùn)行,但是在用戶調(diào)用查看時(shí)會(huì)以該時(shí)間約束為條件限制查詢數(shù)據(jù);若用戶既設(shè)定生成周期,而且設(shè)置約束時(shí)間、時(shí)間長(zhǎng)度及單位,那么每個(gè)生成周期統(tǒng)計(jì)表自動(dòng)運(yùn)行并且以用戶設(shè)置的時(shí)間約束為條件限制查詢數(shù)據(jù);
(14)二次統(tǒng)計(jì):在所述統(tǒng)計(jì)表述方法中,對(duì)于不包含展開列的統(tǒng)計(jì)表,允許進(jìn)行二次統(tǒng)計(jì),二次統(tǒng)計(jì)會(huì)將統(tǒng)計(jì)結(jié)果作為源表,用戶重新使用以上概念自由組織統(tǒng)計(jì)表。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市睿捷軟件技術(shù)有限公司,未經(jīng)深圳市睿捷軟件技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610975724.7/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 關(guān)系視圖
- 位置關(guān)系檢測(cè)裝置以及位置關(guān)系檢測(cè)系統(tǒng)
- 關(guān)系建模
- 關(guān)系分析方法、關(guān)系分析程序、以及關(guān)系分析裝置
- 實(shí)體關(guān)系分類裝置和實(shí)體關(guān)系分類方法
- 用戶關(guān)系抽取方法和用戶關(guān)系抽取系統(tǒng)
- 融合依存關(guān)系與篇章修辭關(guān)系的事件時(shí)序關(guān)系識(shí)別方法
- 開關(guān)系統(tǒng)
- 視頻視覺關(guān)系檢測(cè)的關(guān)系片段連接方法
- 開關(guān)系統(tǒng)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語句執(zhí)行方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





