NCV6自由報(bào)表紅皮書_第1頁(yè)
NCV6自由報(bào)表紅皮書_第2頁(yè)
NCV6自由報(bào)表紅皮書_第3頁(yè)
NCV6自由報(bào)表紅皮書_第4頁(yè)
NCV6自由報(bào)表紅皮書_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、自由報(bào)表技術(shù)紅皮書NC-UAP 6.0用友NC-UAP2020-10-08目 錄第一章前言11.背景12.入門12.1自由報(bào)表的新建12.2自由報(bào)表的格式設(shè)計(jì)42.3語(yǔ)義模型的使用62.4可擴(kuò)展區(qū)域82.5數(shù)據(jù)預(yù)覽功能132.6分析功能153.小結(jié)18第二章基本功能181.可擴(kuò)展區(qū)域管理182.排序223.篩選234.固定成員245.分組276.分組統(tǒng)計(jì)287.排名函數(shù)318.TopN分析339.交叉38第三章分析功能綜合應(yīng)用411.分組功能應(yīng)用411.1列表中的多級(jí)分組421.2交叉表結(jié)合分組應(yīng)用452.數(shù)據(jù)依賴處理區(qū)域拼接46第四章報(bào)表發(fā)布節(jié)點(diǎn)481.報(bào)表發(fā)布482.發(fā)布后節(jié)點(diǎn)49第五章穿

2、透和聯(lián)查501.報(bào)表穿透502.報(bào)表聯(lián)查512.1接口TraceDataInterface512.2注冊(cè)方式522.3聯(lián)查的執(zhí)行522.4工具方法52第六章報(bào)表節(jié)點(diǎn)的擴(kuò)展531.查詢動(dòng)作擴(kuò)展532.查詢條件553.區(qū)域條件564.業(yè)務(wù)格式575.格式調(diào)整器596.工具方法60第七章輔助開發(fā)工具621.手工導(dǎo)入導(dǎo)出622.安裝盤腳本632.1構(gòu)造平臺(tái)中支持自由報(bào)表(以及語(yǔ)義模型)的腳本導(dǎo)出632.2發(fā)布的報(bào)表節(jié)點(diǎn)導(dǎo)出633.安裝程序64第一章 前言1. 背景為滿足各類用戶在報(bào)表分析方面的綜合要求,NC報(bào)表產(chǎn)品IUFO從5.5版本開始提供了一個(gè)分析型報(bào)表的解決方案:自由報(bào)表。本文針對(duì)V6自由報(bào)表功

3、能進(jìn)行介紹,但是使用了部分5.6版本的產(chǎn)品截圖,后續(xù)會(huì)逐步替換。自由報(bào)表具有以下特點(diǎn):1 針對(duì)企業(yè)不同業(yè)務(wù)角色,提供多樣使用方式:報(bào)表數(shù)據(jù)查詢?nèi)藛T可以在報(bào)表數(shù)據(jù)查詢結(jié)果上直接構(gòu)建分析型報(bào)表,而不需具備較深技術(shù)背景;專業(yè)的分析報(bào)表設(shè)計(jì)人員則可以全面使用設(shè)計(jì)功能實(shí)現(xiàn)復(fù)雜報(bào)表的定義和發(fā)布;2 支持多種數(shù)據(jù)來(lái)源:系統(tǒng)內(nèi)置報(bào)表數(shù)據(jù)提供者和多種語(yǔ)義模型提供者,還支持注冊(cè)其他類型語(yǔ)義模型提供者,多來(lái)源數(shù)據(jù)都可以在一張自由報(bào)表中進(jìn)行數(shù)據(jù)分析和展現(xiàn);3 報(bào)表支持多區(qū)域模型,多個(gè)區(qū)域按照數(shù)據(jù)分析結(jié)果各自動(dòng)態(tài)展開;多區(qū)域和多數(shù)據(jù)來(lái)源之間均可以設(shè)置依賴關(guān)系,能靈活組合拼裝出各類樣式的復(fù)雜報(bào)表;4 格式設(shè)計(jì)和報(bào)表展現(xiàn)效

4、果一致:各種數(shù)據(jù)分析和格式設(shè)置都在設(shè)計(jì)界面有直觀展現(xiàn),特別是交叉表的設(shè)計(jì)方式突破以往,能夠可視化的直接定義維度指標(biāo)及各類展現(xiàn)效果;5 提供了分析圖表功能:提供了各類常見圖表分析功能;6 分析功能和交互性加強(qiáng):全面支持排序/過(guò)濾/分組/統(tǒng)計(jì)/交叉/排名函數(shù)/TopN等分析功能,并具有頁(yè)維度和待定參數(shù)等交互特性。7 支持?jǐn)?shù)據(jù)追蹤:自由報(bào)表中的明細(xì)數(shù)據(jù)和統(tǒng)計(jì)數(shù)據(jù)都支持追蹤到原始數(shù)據(jù)。8 針對(duì)大數(shù)據(jù)量的處理:利用數(shù)據(jù)庫(kù)的處理能力進(jìn)行多級(jí)匯總數(shù)據(jù)的處理,展現(xiàn)層在電子表格中實(shí)現(xiàn)平滑分頁(yè),可以分頁(yè)加載明細(xì)數(shù)據(jù)。2. 入門使用自由報(bào)表的基本流程介紹。2.1 自由報(bào)表的新建1) 選擇自由報(bào)表功能節(jié)點(diǎn),就會(huì)出現(xiàn)如

5、下界面:2) 接下來(lái)我們選中左面目錄樹中的一個(gè)目錄,選擇工具欄上的“新增”,如下圖:3) 報(bào)表卡片界面中填寫“自由報(bào)表名稱”、“自由報(bào)表編碼”,如下圖:4) 點(diǎn)擊工具欄中“保存”之后,該目錄下的報(bào)表列表中就會(huì)出現(xiàn)剛才新建的報(bào)表,如下圖:2.2 自由報(bào)表的格式設(shè)計(jì)1) 在自由報(bào)表界面選中需要格式設(shè)計(jì)操作的報(bào)表, 點(diǎn)擊工具欄中的“格式設(shè)計(jì)”如下圖:2) 報(bào)表的“格式設(shè)計(jì)”主界面如下:3) 主界面中主要包含菜單、工具欄、自由報(bào)表導(dǎo)航區(qū)域、數(shù)據(jù)顯示區(qū)域以及語(yǔ)義模型視圖等部分。如下圖:2.3 語(yǔ)義模型的使用1) 點(diǎn)擊“數(shù)據(jù)集視圖區(qū)域”上方的工具欄中的“插入語(yǔ)義模型”,出現(xiàn)選擇語(yǔ)義模型界面,如下圖,選中已

6、經(jīng)定義好的語(yǔ)義模型“user”。2) 點(diǎn)擊“確定”,報(bào)表設(shè)計(jì)界面的語(yǔ)義模型信息框中就會(huì)出現(xiàn)被選擇的語(yǔ)義模型,如下圖:2.4 可擴(kuò)展區(qū)域1) 可擴(kuò)展區(qū)域是為了放置語(yǔ)義模型的區(qū)域,有兩種定義方式,一種是選中一定區(qū)域,然后右鍵菜單中選擇“設(shè)置可擴(kuò)展區(qū)域”,如下圖:2) 可擴(kuò)展區(qū)域定義界面如下圖,填寫相應(yīng)的信息。3) 點(diǎn)擊“確定”之后,數(shù)據(jù)顯示區(qū)域就會(huì)出現(xiàn)此可擴(kuò)展區(qū)域,如下圖:4) 拖動(dòng)右面語(yǔ)義模型信息框中語(yǔ)義模型的元數(shù)據(jù),放入設(shè)置的可擴(kuò)展區(qū)域中,如下圖:5) 設(shè)置可擴(kuò)展區(qū)域的另一種方式:直接拖動(dòng)右面語(yǔ)義模型信息框中的語(yǔ)義模型,放入數(shù)據(jù)顯示區(qū)域,如下圖:2.5 數(shù)據(jù)預(yù)覽功能1) 定義完可擴(kuò)展區(qū)域,并且

7、放置語(yǔ)義模型之后,就可以對(duì)數(shù)據(jù)進(jìn)行查看了,點(diǎn)擊工具欄中的“預(yù)覽”按鈕,如下圖:2) 點(diǎn)擊“預(yù)覽”之后,數(shù)據(jù)就會(huì)顯示在數(shù)據(jù)顯示區(qū)域,如下圖:2.6 分析功能以排序功能為例,介紹分析功能的使用方法1) 選中可擴(kuò)展區(qū)域中的某一元數(shù)據(jù),然后選擇工具欄上的數(shù)據(jù)分析功能按鈕,如下圖:2) 點(diǎn)擊工具欄中的“排序”,數(shù)據(jù)顯示區(qū)域顯示如下:3) 點(diǎn)擊“預(yù)覽”,會(huì)看到數(shù)據(jù)按升序來(lái)顯示,如下圖。如果此時(shí)保存了報(bào)表格式,則報(bào)表瀏覽時(shí)也會(huì)按照此排序設(shè)置進(jìn)行報(bào)表數(shù)據(jù)展開。3. 小結(jié)自由報(bào)表基于語(yǔ)義模型,以電子表格的方式進(jìn)行報(bào)表格式設(shè)計(jì),并可以設(shè)置各種分析功能。在報(bào)表瀏覽狀態(tài)依然可以更改各類分析功能,達(dá)到實(shí)時(shí)交互分析數(shù)據(jù)的

8、效果。第二章 基本功能1. 可擴(kuò)展區(qū)域管理下面詳細(xì)介紹可擴(kuò)展區(qū)域的定義,拆分,合并,移動(dòng),復(fù)制,刪除等管理介紹。1 定義可擴(kuò)展區(qū)域選擇一個(gè)區(qū)域,右鍵設(shè)置可擴(kuò)展區(qū),即可定義個(gè)可擴(kuò)展區(qū)。各設(shè)置項(xiàng)說(shuō)明:可擴(kuò)展區(qū)名稱:用于標(biāo)識(shí)和區(qū)分各可擴(kuò)展區(qū),為空時(shí)系統(tǒng)默認(rèn)名稱為其擴(kuò)展區(qū)域??蓴U(kuò)展區(qū)域:標(biāo)記可擴(kuò)展區(qū)在自由報(bào)表中的區(qū)域。擴(kuò)展方向:標(biāo)記區(qū)域是橫向擴(kuò)展還是縱向擴(kuò)展。限定區(qū)域大?。寒?dāng)選擇“固定大小”時(shí),可通過(guò)“限定行數(shù)”和“限定列數(shù)”來(lái)限制可擴(kuò)展區(qū)擴(kuò)展后的區(qū)域大小。擴(kuò)展依賴:定義當(dāng)前區(qū)域擴(kuò)展時(shí)依賴的可擴(kuò)展區(qū)域以及依賴擴(kuò)展點(diǎn)。依賴具體規(guī)則參見2.2擴(kuò)展規(guī)則介紹部分的擴(kuò)展依賴介紹。2 拆分可擴(kuò)展區(qū)域定義好可擴(kuò)展區(qū)

9、域后,可以對(duì)可擴(kuò)展區(qū)域按行或按列進(jìn)行區(qū)域拆分,將當(dāng)前可擴(kuò)展區(qū)拆分成兩個(gè)可擴(kuò)展區(qū)域。3 合并可擴(kuò)展區(qū)域選中兩個(gè)或兩個(gè)以上的可擴(kuò)展區(qū)域,可以對(duì)這多個(gè)可擴(kuò)展區(qū)域進(jìn)行區(qū)域合并,可以指定新合并區(qū)域的名稱,并指定要合并到主合并區(qū)域,用于可擴(kuò)展區(qū)模型的處理。4 管理可擴(kuò)展區(qū)域右鍵管理可擴(kuò)展區(qū)域,用于快速管理多個(gè)可擴(kuò)展區(qū)域,包括添加,修改,刪除等管理功能。5 移動(dòng)可擴(kuò)展區(qū)域可通過(guò)修改可擴(kuò)展區(qū)域的區(qū)域設(shè)置來(lái)進(jìn)行區(qū)域移動(dòng),也可以直接剪切然后粘貼來(lái)移動(dòng)可擴(kuò)展區(qū)域。 6 復(fù)制可擴(kuò)展區(qū)域全選可可擴(kuò)展區(qū)域,然后復(fù)制,粘貼即可完成可擴(kuò)展區(qū)域的復(fù)制粘貼。可以用ctrl+c, ctrl + v進(jìn)行快速操作。2. 排序可以針對(duì)某

10、個(gè)擴(kuò)展區(qū)域中的語(yǔ)義模型設(shè)置多個(gè)排序字段,支持設(shè)置排序字段的升降序。 在排序字段上顯示升序或降序標(biāo)記,重復(fù)點(diǎn)擊按照升序、降序、取消排序的順序依次變化。 多個(gè)排序字段時(shí)按照從上至下,從左至右的順序確定排序次序。 若有分組,則在組內(nèi)排序,對(duì)分組字段也可以排序,也可以按照分組統(tǒng)計(jì)字段進(jìn)行排序排序前:排序操作按鈕排序前排序后:排序后的結(jié)果3. 篩選可以針對(duì)某個(gè)擴(kuò)展區(qū)域中的語(yǔ)義模型設(shè)置篩選,支持使用語(yǔ)義模型的待定參數(shù), 給參數(shù)設(shè)置默認(rèn)值,在數(shù)據(jù)態(tài)下可以重新設(shè)置篩選條件值。支持頁(yè)維度。 根據(jù)選定的擴(kuò)展區(qū),設(shè)置篩選條件,篩選條件作為單獨(dú)的功能,在格式態(tài)和數(shù)據(jù)態(tài)下都可以使用。 語(yǔ)義模型的待定參數(shù)可以針對(duì)使用語(yǔ)義

11、模型的區(qū)域設(shè)置默認(rèn)值。 參數(shù)值設(shè)置與篩選條件作為兩個(gè)菜單項(xiàng),在數(shù)據(jù)態(tài)和格式態(tài)都可以使用。在從格式態(tài)切換到數(shù)據(jù)態(tài)時(shí)以及打開報(bào)表預(yù)覽數(shù)據(jù)時(shí)自動(dòng)出參數(shù)值設(shè)置界面。 支持從語(yǔ)義模型中拖拽字段到頁(yè)頭形成頁(yè)維度,頁(yè)維度相當(dāng)于給所有使用了與頁(yè)維度相同語(yǔ)義模型的區(qū)域設(shè)置了篩選條件。 語(yǔ)義模型設(shè)置的待定參數(shù)與擴(kuò)展區(qū)域的篩選條件以及頁(yè)維度一起篩選數(shù)據(jù)。圖例如下:第一步:點(diǎn)擊“篩選條件”第二步:增加一條篩選條件瀏覽數(shù)據(jù):數(shù)據(jù)已經(jīng)按條件進(jìn)行了過(guò)濾4. 固定成員對(duì)于自由報(bào)表的數(shù)據(jù)展現(xiàn),我們還提供了一種叫做“固定成員”的功能。當(dāng)對(duì)某個(gè)字段設(shè)置固定成員后,顧名思義就是在數(shù)據(jù)展現(xiàn)的時(shí)候會(huì)按照該字段設(shè)置的幾個(gè)固定的成員和其順序

12、來(lái)展現(xiàn)數(shù)據(jù)。其類似于篩選(如同SQL中的in)但又不同于篩選,如果查詢的數(shù)據(jù)中沒有固定成員中某個(gè)成員,在展現(xiàn)的時(shí)候仍然會(huì)出現(xiàn)該固定成員,只不過(guò)其他的字段沒有記錄而已。比如用戶希望只展現(xiàn)單位1、單位2、單位3的數(shù)據(jù),那么就可以通過(guò)對(duì)單位設(shè)置固定成員來(lái)實(shí)現(xiàn)用戶希望看到的數(shù)據(jù)。固定成員的設(shè)置過(guò)程如下:1、打開任意的一張自由報(bào)表,選中擴(kuò)展區(qū)域中的任何一個(gè)字段,在工具欄中選擇“固定成員設(shè)置”按鈕,可對(duì)所選擇的字段進(jìn)行固定成員設(shè)置。如下圖1 圖12、如下圖2是固定成員設(shè)置的對(duì)話框。當(dāng)用戶選中“固定成員”復(fù)選框后就可以對(duì)所選擇的字段設(shè)置固定成員了。用戶可通過(guò)“添加”、“刪除”按鈕增加和刪除固定成員,同時(shí)可以

13、通過(guò)“讀取數(shù)據(jù)”按鈕裝載數(shù)據(jù)庫(kù)中存在的所有成員;通過(guò)“向上”、“向下”按鈕調(diào)整固定成員的順序,同時(shí)可以通過(guò)固定成員列表的表頭來(lái)對(duì)固定成員進(jìn)行排序,點(diǎn)擊“成員”表頭就會(huì)按成員值進(jìn)行排序,點(diǎn)擊“顯示名稱”表頭就會(huì)按成員顯示名稱進(jìn)行排序;可以編輯成員的顯示名稱來(lái)改變成員在數(shù)據(jù)展現(xiàn)的時(shí)候的顯示名稱。 圖23、設(shè)置完固定成員后,在自由報(bào)表中瀏覽出的數(shù)據(jù)就僅僅含固定成員的數(shù)據(jù)記錄,如果數(shù)據(jù)庫(kù)中沒有某個(gè)成員的記錄就會(huì)出現(xiàn)空行(下圖的302單位的數(shù)據(jù)就是),如下圖3。 圖34如果想取消字段的固定成員設(shè)置,可在固定成員設(shè)置對(duì)話框中重新選中“默認(rèn)成員”復(fù)選框,就取消了固定成員設(shè)置。如圖4、圖5圖4 圖55以上演示

14、的是普通的行列表的字段的固定成員的設(shè)置,交叉表緯度的固定成員設(shè)置是相同的操作。注意:1、 不能對(duì)統(tǒng)計(jì)字段(一般是數(shù)值型的字段)設(shè)置固定成員2、 如果設(shè)置固定成員的時(shí)候修改了成員的顯示名稱,然后又取消了固定成員設(shè)置,但是設(shè)置的顯示名稱仍然會(huì)生效,除非在默認(rèn)成員設(shè)置列表中將該成員與顯示名稱記錄刪除。5. 分組可以針對(duì)某個(gè)擴(kuò)展區(qū)域中的語(yǔ)義模型設(shè)置分組,支持多個(gè)分組字段,支持分組統(tǒng)計(jì)字段,支持分組內(nèi)細(xì)節(jié)數(shù)據(jù)的交叉。1) 在一個(gè)擴(kuò)展區(qū)域內(nèi),如果設(shè)置分組字段,則根據(jù)分組字段,將數(shù)據(jù)分組。如果有2個(gè)以上的分組字段,則根據(jù)分組字段所在的位置確定分組次序,處于最外層的字段作為第一分組順序。如果多個(gè)分組字段在1行

15、,則根據(jù)多個(gè)分組字段的組合值分組。2) 可指定放置在區(qū)域中的語(yǔ)義模型字段為分組字段; 3) 可在擴(kuò)展區(qū)域的單元中直接定義分組統(tǒng)計(jì)函數(shù)(會(huì)隱含確定一個(gè)分組字段),支持的統(tǒng)計(jì)函數(shù)列表:求和、計(jì)數(shù)、平均、最大、最??;4) 設(shè)置了多個(gè)分組字段時(shí),按照它們放置的位置從上到下、從左到右,作為其分組順序;5) 分組字段和統(tǒng)計(jì)函數(shù)可以指定是否自動(dòng)合并單元分組操作的界面如下:分組操作按鈕分組前分組后:分組操作后6. 分組統(tǒng)計(jì)自由報(bào)表的分組統(tǒng)計(jì),就是對(duì)自由報(bào)表的分組數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,分為合計(jì)、計(jì)數(shù)、平均、最大、最小五種類型。1、 建立自由報(bào)表,進(jìn)入格式設(shè)計(jì),創(chuàng)建行列區(qū)。2、 然后對(duì)擴(kuò)展區(qū)進(jìn)行分組:3、 將字段拖入

16、擴(kuò)展區(qū),插入統(tǒng)計(jì)函數(shù):其中,合計(jì)、平均是針對(duì)數(shù)據(jù)型,對(duì)分組數(shù)據(jù)進(jìn)行求和和求平均值;計(jì)數(shù)是對(duì)分組數(shù)據(jù)進(jìn)行進(jìn)行數(shù)目統(tǒng)計(jì),最大和最小是對(duì)求分組數(shù)據(jù)的最大值和最小值。4、 數(shù)據(jù)預(yù)覽,計(jì)數(shù)函數(shù):7. 排名函數(shù)排名函數(shù)用于計(jì)算出某個(gè)報(bào)表數(shù)據(jù)在指定范圍內(nèi)的排名。自由報(bào)表在多級(jí)分組區(qū)域中支持對(duì)明細(xì)數(shù)據(jù)字段或者分組統(tǒng)計(jì)字段計(jì)算排名。1 排名函數(shù)的設(shè)置此功能按鈕位于工具欄中,如圖1-1所示。圖1-1圖1-2設(shè)置界面如圖1-2,“從大到小”表示按照數(shù)據(jù)從大到小進(jìn)行排名;“允許并列”表示數(shù)據(jù)大小相同時(shí)排名相同;“排名范圍”可以在語(yǔ)義模型的字段中進(jìn)行選擇,如果選擇了某個(gè)分組字段,則表示在此分組級(jí)次中進(jìn)行排名,如果非分組

17、字段或者不選擇,則為所有數(shù)據(jù)范圍內(nèi)進(jìn)行排名。2 明細(xì)字段的排名函數(shù)圖2-1是自由報(bào)表的格式設(shè)計(jì)界面,我們選中F4單元的“貨幣資金”字段,將其設(shè)置為排名函數(shù)(設(shè)置內(nèi)容同圖1-2)。圖2-1圖2-2圖2-2是報(bào)表瀏覽效果,F(xiàn)列就是計(jì)算出的貨幣資金在單位范圍內(nèi)的從大到小排名。如果設(shè)置了“允許并列”,并且將排名范圍設(shè)置成空(所有數(shù)據(jù)范圍內(nèi)排名),則報(bào)表效果有所變化,見圖2-3:圖2-33 分組統(tǒng)計(jì)字段的排名函數(shù)如圖3-1,我們也可以將按單位統(tǒng)計(jì)的貨幣資金小計(jì)(F5單元格)設(shè)置為排名函數(shù),這次我們?cè)O(shè)置的是從小到大進(jìn)行排名。圖3-1報(bào)表瀏覽效果見圖3-2,紅色字體的就是貨幣資金單位小計(jì)的排名。圖3-28.

18、 TopN分析TopN分析是一種常見的報(bào)表數(shù)據(jù)分析功能,可以按照數(shù)據(jù)大小過(guò)濾出前N行用戶最關(guān)注的業(yè)務(wù)數(shù)據(jù)。自由報(bào)表在多級(jí)分組區(qū)域中支持TopN分析功能,在明細(xì)數(shù)據(jù)字段或者分組統(tǒng)計(jì)字段上均可設(shè)置。1 TopN分析的設(shè)置此功能按鈕位于工具欄中,如圖1-1所示。圖1-1圖1-2設(shè)置界面如圖1-2,“數(shù)據(jù)分析行數(shù)”表示用戶關(guān)注的數(shù)據(jù)行數(shù);可選擇數(shù)據(jù)排列方式;“補(bǔ)足行數(shù)”的意思是當(dāng)數(shù)據(jù)不足時(shí),是否要用空數(shù)據(jù)補(bǔ)足數(shù)據(jù)分析行數(shù),這個(gè)設(shè)置有助于報(bào)表結(jié)果的工整和美觀;設(shè)置“顯示“其他”表示多于分析行數(shù)的數(shù)據(jù)會(huì)進(jìn)行匯總并顯示為“其他”行。設(shè)置完成后,在所設(shè)置的單元格的右上角會(huì)顯示topN標(biāo)記:圖1-32 在明細(xì)數(shù)

19、據(jù)中設(shè)置了TopN分析的效果圖2-1是自由報(bào)表的格式設(shè)計(jì)界面,我們選中“貨幣資金”字段,為其設(shè)置TopN分析(設(shè)置內(nèi)容同圖1-2)。圖2-1圖2-2圖2-3我們對(duì)比一下設(shè)置前后的報(bào)表瀏覽效果(分別是圖2-2和圖2-3),可以發(fā)現(xiàn),貨幣資金值最大的前3行數(shù)據(jù)依然顯示,而其他數(shù)據(jù)行匯總后顯示成了一行數(shù)據(jù)。3 分組報(bào)表中明細(xì)數(shù)據(jù)設(shè)置TopN分析的應(yīng)用效果這一次,我們對(duì)數(shù)據(jù)按照單位編碼進(jìn)行分組,圖3-1顯示區(qū)域中已經(jīng)設(shè)置單位編碼字段為分組字段。圖3-1圖3-2圖3-3我們?cè)賮?lái)對(duì)比一下設(shè)置前后的報(bào)表瀏覽效果(分別是圖3-2和圖3-3),可以發(fā)現(xiàn),每個(gè)分組內(nèi)部貨幣資金值最大的前3行數(shù)據(jù)依然顯示,而其他數(shù)據(jù)

20、行匯總后顯示成了一行數(shù)據(jù)。如果我們?cè)赥opN分析中選擇“補(bǔ)足行數(shù)”,就會(huì)發(fā)現(xiàn)報(bào)表變得非常工整了,見圖3-4:圖3-44 分組報(bào)表中對(duì)小計(jì)字段設(shè)置TopN分析的應(yīng)用效果可擴(kuò)展區(qū)域中已經(jīng)設(shè)置了按照單位編碼進(jìn)行分組,如圖4-1所示。我們對(duì)按單位統(tǒng)計(jì)的貨幣資金小計(jì)(D5單元格)設(shè)置TopN分析,為了數(shù)據(jù)對(duì)比方便,這次的分析行數(shù)設(shè)置為2。 圖4-1圖4-2圖4-3我們?cè)賮?lái)對(duì)比一下設(shè)置前后的報(bào)表瀏覽效果(分別是圖4-2和圖4-3),單位貨幣資金小計(jì)值最大的前2個(gè)分組數(shù)據(jù)依然顯示,而其他分組數(shù)據(jù)小計(jì)匯總后顯示成了一行數(shù)據(jù)。5 需要注意的規(guī)則為了用戶設(shè)置方便,我們并不限制設(shè)置TopN分析的字段個(gè)數(shù)。但是實(shí)際上

21、在每個(gè)分組級(jí)次中,只有檢測(cè)到的第一個(gè)TopN分析生效。例如圖2-1中的一個(gè)普通列表,如果對(duì)后面的4個(gè)字段都設(shè)置了TopN,最終的報(bào)表展示也是圖2-3的效果,系統(tǒng)會(huì)將統(tǒng)一級(jí)次的其他TopN分析自動(dòng)置成不啟用。9. 交叉交叉表制作一般流程:1) 選定合適的區(qū)域設(shè)置成擴(kuò)展區(qū)域;2) 將語(yǔ)義模型中的數(shù)據(jù)通過(guò)拖拽操作放置在設(shè)置好的擴(kuò)展區(qū)域中的相應(yīng)位置;3) 根據(jù)需要選擇適當(dāng)?shù)慕徊纥c(diǎn)設(shè)置交叉區(qū)域;4) 設(shè)置好交叉表后進(jìn)行數(shù)據(jù)的瀏覽;1 擴(kuò)展區(qū)域的設(shè)置選中區(qū)域鼠標(biāo)右鍵點(diǎn)擊設(shè)置可擴(kuò)展區(qū)域,如下圖:點(diǎn)擊確定如下圖所示2 擴(kuò)展區(qū)域字段的設(shè)置將語(yǔ)義模型中的字段通過(guò)拖拽操作放置在設(shè)置好的擴(kuò)展區(qū)域中的相應(yīng)位置如下圖:3

22、 交叉區(qū)域字段的設(shè)置選中擴(kuò)展設(shè)置好的擴(kuò)展區(qū)域進(jìn)行交叉區(qū)域的設(shè)置,如下圖:A1:C5為交叉區(qū)域、B2 及貨幣資金為交叉點(diǎn)、B2:C5為指標(biāo)區(qū)域,交叉點(diǎn)相當(dāng)于行列維度坐標(biāo)軸的原點(diǎn)(交叉區(qū))4 進(jìn)行交叉區(qū)域數(shù)據(jù)的瀏覽點(diǎn)擊瀏覽后數(shù)據(jù)展現(xiàn)如下圖,同一單位同一年度不同月份的合計(jì)值 第三章 分析功能綜合應(yīng)用自由報(bào)表還支持設(shè)置區(qū)域之間的數(shù)據(jù)依賴關(guān)系,各種分析功能結(jié)合起來(lái),靈活應(yīng)用就可以組裝出較為復(fù)雜的報(bào)表。1. 分組功能應(yīng)用分組常見的應(yīng)用有兩種,一是對(duì)列表中的分組應(yīng)用;二是對(duì)交叉表結(jié)合分組應(yīng)用。1.1 列表中的多級(jí)分組1) 如下一組數(shù)據(jù)(圖1),直接預(yù)覽時(shí)數(shù)據(jù)就是自由展現(xiàn),那么用戶就需要對(duì)數(shù)據(jù)利用單位名稱、幣

23、種、會(huì)計(jì)期間等字段進(jìn)行一些分組加工以便能讓更容易對(duì)數(shù)據(jù)進(jìn)行分析比較。 圖12) 首先我們先對(duì)單位名稱字段設(shè)置分組,那么數(shù)據(jù)按單位進(jìn)行分組,并且得出按單位分組合計(jì)值 圖2 圖33) 在單位下還有幣種和會(huì)計(jì)期間字段,可以根據(jù)需要再設(shè)置分組,對(duì)數(shù)據(jù)繼續(xù)細(xì)化(圖4、圖5)。 圖4 圖54) 另外一種格式展現(xiàn)效果如下(圖6)是1單位2009年3月的銷售清單,為了更直觀的掌握銷售情況可以進(jìn)行如下多層分組(圖7)。 圖6格式設(shè)計(jì)如下: 圖7數(shù)據(jù)展現(xiàn)如下(圖8): 圖81.2 交叉表結(jié)合分組應(yīng)用圖1中的數(shù)據(jù)用交叉表展示時(shí),分組也可以和交叉表結(jié)合在一起使用(圖9) 圖9展示如下: 圖102. 數(shù)據(jù)依賴處理區(qū)域拼

24、接用戶可能會(huì)需要設(shè)計(jì)一些較為復(fù)雜的統(tǒng)計(jì)表,例如數(shù)據(jù)來(lái)源于不同的系統(tǒng),或者對(duì)于數(shù)據(jù)有不同的統(tǒng)計(jì)口徑,而這些數(shù)據(jù)又要集中體現(xiàn)在一張統(tǒng)計(jì)報(bào)表中。V5.5之前的產(chǎn)品,如果用戶想處理復(fù)雜數(shù)據(jù),只能利用查詢引擎的功能,做數(shù)據(jù)表的關(guān)聯(lián)或者定義復(fù)合查詢,然后才能把一個(gè)查詢引入到報(bào)表中來(lái)。查詢的設(shè)計(jì)太過(guò)復(fù)雜,針對(duì)一個(gè)查詢的報(bào)表設(shè)計(jì)的靈活性和直觀性又都比較差。V55自由查詢中使用多個(gè)可擴(kuò)展區(qū)域的數(shù)據(jù)依賴功能解決了這個(gè)難題。交叉表是一種常用的報(bào)表統(tǒng)計(jì)樣式。自由報(bào)表中交叉表的設(shè)計(jì)比較直觀:在一個(gè)可擴(kuò)展區(qū)域內(nèi),可以拖入行列維度字段和設(shè)置統(tǒng)計(jì)指標(biāo),并可以直接設(shè)置各類指標(biāo)名稱和單元格式。還可以設(shè)置是否顯示行列標(biāo)題。由此,對(duì)

25、于復(fù)雜的統(tǒng)計(jì)報(bào)表,我們給出的解決方案是:根據(jù)報(bào)表數(shù)據(jù)內(nèi)容,將其拆分成多塊,這樣每一塊的數(shù)據(jù)來(lái)源單一且統(tǒng)計(jì)口徑簡(jiǎn)單。每一塊都可以利用一個(gè)可擴(kuò)展區(qū)域來(lái)設(shè)置,而各塊之間,只要通過(guò)設(shè)置數(shù)據(jù)依賴關(guān)系,并且選擇性地隱藏某些塊的行列表頭,就能使這些數(shù)據(jù)對(duì)應(yīng)起來(lái),最終拼接成一個(gè)無(wú)縫復(fù)雜報(bào)表。交叉表如圖3-01,單個(gè)交叉表的設(shè)計(jì)界面比較直觀。圖3-01 交叉表的設(shè)計(jì)界面圖3-02是交叉表的數(shù)據(jù)瀏覽結(jié)果。圖3-02 交叉表展開效果復(fù)雜報(bào)表的拼接如圖3-03,設(shè)置兩個(gè)交叉表,并設(shè)置其數(shù)據(jù)依賴關(guān)系,同時(shí)設(shè)置右邊的區(qū)域“不顯示行表頭”。數(shù)據(jù)依賴關(guān)系的內(nèi)容是(地區(qū)名稱 依賴于 區(qū)域1.地區(qū)名稱 客商名稱 依賴于 區(qū)域1.

26、客商名稱)圖3-03 兩個(gè)區(qū)域設(shè)置數(shù)據(jù)依賴關(guān)系如圖3-04,這樣的兩個(gè)交叉表最終瀏覽結(jié)果看起來(lái)就是一個(gè)統(tǒng)計(jì)表啦。圖3-04 拼接的展開效果第四章 報(bào)表發(fā)布節(jié)點(diǎn)1. 報(bào)表發(fā)布在自由報(bào)表管理功能中,可以對(duì)設(shè)計(jì)好的自由報(bào)表進(jìn)行“發(fā)布節(jié)點(diǎn)”,對(duì)于第一次發(fā)布的節(jié)點(diǎn),可以在發(fā)布向?qū)е型瑫r(shí)進(jìn)行功能和菜單的設(shè)置。如果希望將多張自由報(bào)表繼續(xù)發(fā)布到同一個(gè)功能節(jié)點(diǎn),則可以選擇“追加”方式,然后選擇一個(gè)已有節(jié)點(diǎn)進(jìn)行發(fā)布即可。發(fā)布設(shè)置界面如下:2. 發(fā)布后節(jié)點(diǎn)自由報(bào)表發(fā)布后的節(jié)點(diǎn)成為一個(gè)普通NC功能,功能注冊(cè)、菜單注冊(cè)和功能權(quán)限控制都是NC統(tǒng)一機(jī)制管理的。這個(gè)節(jié)點(diǎn)我們一般稱之為一個(gè)報(bào)表節(jié)點(diǎn)。報(bào)表節(jié)點(diǎn)中的多張報(bào)表共用查詢

27、條件,這意味著查詢條件或者查詢方案的變化會(huì)作用到本節(jié)點(diǎn)的所有報(bào)表上面。報(bào)表節(jié)點(diǎn)的典型界面如下:報(bào)表節(jié)點(diǎn)的主要交互方式: 打開節(jié)點(diǎn)節(jié)點(diǎn)內(nèi)所有報(bào)表在右邊以多頁(yè)簽形式打開,顯示報(bào)表基本格式,但是不加載報(bào)表數(shù)據(jù)。 點(diǎn)擊查詢根據(jù)節(jié)點(diǎn)的查詢模板配置等內(nèi)容,如果有查詢條件輸入界面,則彈出界面供用戶設(shè)置。根據(jù)查詢條件進(jìn)行報(bào)表數(shù)據(jù)的加載和顯示。 選擇查詢方案對(duì)于左側(cè)面板顯示的用戶已保存的查詢方案,鼠標(biāo)點(diǎn)擊時(shí)直接按照查詢方案內(nèi)容進(jìn)行報(bào)表數(shù)據(jù)加載和顯示。 切換報(bào)表頁(yè)簽按照當(dāng)前的查詢條件/查詢方案內(nèi)容,進(jìn)行對(duì)應(yīng)報(bào)表數(shù)據(jù)加載和顯示。第五章 穿透和聯(lián)查1. 報(bào)表穿透自由報(bào)表穿透是指按照用戶在報(bào)表格式中設(shè)定的穿透規(guī)則,進(jìn)行

28、關(guān)聯(lián)報(bào)表的數(shù)據(jù)查看。報(bào)表穿透暫時(shí)沒有提供業(yè)務(wù)擴(kuò)展機(jī)制。目前支持兩種方式:穿透到單張自由報(bào)表直接瀏覽;穿透到自由報(bào)表發(fā)布后節(jié)點(diǎn)。2. 報(bào)表聯(lián)查報(bào)表聯(lián)查是根據(jù)業(yè)務(wù)需要進(jìn)行當(dāng)前報(bào)表的關(guān)聯(lián)數(shù)據(jù)查看等動(dòng)作,這是一個(gè)業(yè)務(wù)擴(kuò)展機(jī)制,需要業(yè)務(wù)產(chǎn)品根據(jù)擴(kuò)展機(jī)制進(jìn)行聯(lián)查功能的開發(fā)。2.1 接口TraceDataInterfacepackage nc.pub.smart.tracedata;/* * 業(yè)務(wù)聯(lián)查接口,由業(yè)務(wù)組根據(jù)具體業(yè)務(wù)去實(shí)現(xiàn)* * author wanyonga * */public interface TraceDataInterfaceITraceDataOperator provideTrac

29、eDataOperator();聯(lián)查操作接口ItraceDataOperator主要方法有:/* * 業(yè)務(wù)聯(lián)查菜單下注冊(cè)菜單項(xiàng)的名字 * * return */public String getMenuItemName();/* * 擴(kuò)展追蹤動(dòng)作 * * return */public Action ctreateExtensionActions();/* * 執(zhí)行業(yè)務(wù)聯(lián)查 各業(yè)務(wù)模塊根據(jù)需求執(zhí)行聯(lián)查操作 * * param container * 聯(lián)查過(guò)程中彈出對(duì)話框等需要的父組件。 * param param * 聯(lián)查參數(shù) */public void traceData(Container

30、 container, TraceDataParam param);2.2 注冊(cè)方式業(yè)務(wù)模塊需要首先將接口TraceDataInterface的實(shí)現(xiàn)類注冊(cè)到iufo_tracedataregister表中。然后在“報(bào)表平臺(tái)-分析建模-語(yǔ)義模型管理”節(jié)點(diǎn)中,為已經(jīng)建立的語(yǔ)義模型配置聯(lián)查接口實(shí)現(xiàn)類。2.3 聯(lián)查的執(zhí)行報(bào)表節(jié)點(diǎn)中,如果引用的語(yǔ)義模型中配置了聯(lián)查接口實(shí)現(xiàn)類的話,會(huì)在聯(lián)查菜單下出現(xiàn)具體業(yè)務(wù)聯(lián)查菜單項(xiàng),每個(gè)菜單項(xiàng)會(huì)調(diào)用到對(duì)應(yīng)的聯(lián)查動(dòng)作Action。2.4 工具方法在報(bào)表節(jié)點(diǎn)內(nèi)進(jìn)行報(bào)表切換,可使用報(bào)表平臺(tái)提供的工具方法:public class FreeReportFuncletUtil /

31、* * 在發(fā)布后節(jié)點(diǎn)內(nèi)切換報(bào)表顯示 * * param container * param reportID * param drillParam * return */public static boolean showReport(Container container, String reportID, FreeReportDrillParam drillParam) l 方法參數(shù)說(shuō)明: Container container:父窗口。 String reportID:目標(biāo)報(bào)表的id。 FreeReportDrillParam drillParam:自由報(bào)表打開時(shí)的穿透參數(shù)。穿透參數(shù)是自

32、由報(bào)表進(jìn)行報(bào)表數(shù)據(jù)加載的一種參數(shù)條件。在報(bào)表執(zhí)行的時(shí)候,如果發(fā)現(xiàn)上下文中有報(bào)表穿透參數(shù),則會(huì)執(zhí)行查詢交互接口IQueryAction的doQueryByDrill方法。此方法具體內(nèi)容詳見第六章的擴(kuò)展機(jī)制介紹。如果需要打開另一個(gè)報(bào)表節(jié)點(diǎn),則推薦使用下面的工具方法:public class FreeReportFuncletUtil /* * 通過(guò)聯(lián)查參數(shù)打開報(bào)表節(jié)點(diǎn)中的指定報(bào)表 * * param funcode * param initData * return */public static boolean openReportNode(String funcode, FuncletInit

33、Data initData) l 方法參數(shù)說(shuō)明: String funcode:目標(biāo)節(jié)點(diǎn)的功能編碼。 FuncletInitData initData:這是UAP封裝的打開節(jié)點(diǎn)時(shí)的初始數(shù)據(jù)對(duì)象。對(duì)于報(bào)表節(jié)點(diǎn)的打開,要求這個(gè)FuncletInitData對(duì)象的initData屬性實(shí)現(xiàn)IReportNodeInitData接口,便于從中獲取穿透參數(shù):/* * 自由報(bào)表發(fā)布節(jié)點(diǎn)的初始數(shù)據(jù)對(duì)象接口,用于傳遞報(bào)表穿透參數(shù)*/public interface IReportNodeInitData /* * 返回自由報(bào)表通用的穿透參數(shù) * * return */public FreeReportDrill

34、Param getReportDrillParam();第六章 報(bào)表節(jié)點(diǎn)的擴(kuò)展除了上面介紹的聯(lián)查外,報(bào)表節(jié)點(diǎn)支持以查詢菜單的動(dòng)作為入口的一系列業(yè)務(wù)擴(kuò)展機(jī)制。1. 查詢動(dòng)作擴(kuò)展查詢動(dòng)作接口為:nc.ui.iufo.extend.IQueryAction,主要完成查詢菜單和查詢方案等界面交互功能。其實(shí)現(xiàn)類應(yīng)該在client中。報(bào)表平臺(tái)提供了此接口的默認(rèn)實(shí)現(xiàn):nc.ui.iufo.freereport.extend. DefaultQueryAction。/* * “查詢”交互的擴(kuò)展 */public interface IQueryAction public static final String

35、 KEY_IQUERYACTION = IQueryAction.class.getName();/* * “查詢”菜單的執(zhí)行動(dòng)作 * * param parent * param context * param reportModel * param oldCondition * return */public abstract IQueryCondition doQueryAction(Container parent, IContext context, AbsAnaReportModel reportModel,IQueryCondition oldCondition);/* * 查詢

36、交互的對(duì)話框,需要從中獲取查詢方案面板 * * param parent * param context * param reportModel * param oldCondition * return */public abstract QueryConditionDLG getQueryConditionDlg(Container parent, IContext context,AbsAnaReportModel reportModel, IQueryCondition oldCondition);/* * 根據(jù)指定查詢方案進(jìn)行查詢 * * param parent * param c

37、ontext * param reportModel * param queryScheme * return */public abstract IQueryCondition doQueryByScheme(Container parent, IContext context, AbsAnaReportModel reportModel,IQueryScheme queryScheme);/* * 根據(jù)外部送入的穿透參數(shù)進(jìn)行查詢 * * param parent * param context * param reportModel * param drillParam * return

38、*/public abstract IQueryCondition doQueryByDrill(Container parent, IContext context, AbsAnaReportModel reportModel,FreeReportDrillParam drillParam);/* * 頁(yè)維度過(guò)濾的事件處理 * * param parent * param context * param reportModel */public abstract void doPageDimFilter(Container parent, IContext context, AbsAnaRe

39、portModel reportModel);2. 查詢條件查詢擴(kuò)展中查詢交互、按方案查詢和按穿透參數(shù)查詢?nèi)齻€(gè)方法的返回值都是查詢條件nc.itf.iufo.freereport.extend.IQueryCondition。報(bào)表執(zhí)行過(guò)程中會(huì)使用此查詢條件,并將其放在上下文中進(jìn)行傳遞。例如語(yǔ)義模型執(zhí)行時(shí)就可以使用鍵值FreeReportContextKey. KEY_IQUERYCONDITION從上下文中獲取此條件對(duì)象。此接口的實(shí)現(xiàn)類應(yīng)該在public中。報(bào)表平臺(tái)提供了此接口的默認(rèn)實(shí)現(xiàn):com.ufida.report.anareport.base. BaseQueryCondition。/

40、* * “查詢”交互返回的條件 * */public interface IQueryCondition extends Serializable, Cloneable /* * 是否繼續(xù)本次查詢 * * return boolean */public abstract boolean isContinue();/* * 返回針對(duì)各個(gè)區(qū)域的條件設(shè)置 * * param areaName 報(bào)表擴(kuò)展區(qū)域名稱 * param smartModel 引用的語(yǔ)義模型 * return IAreaCondition */public abstract IAreaCondition getAreaCondi

41、tions(String areaName, SmartModel smartModel);/* * 返回報(bào)表格式模型的調(diào)節(jié)器 * * return IReportAdjustor */public abstract IReportAdjustor getReportAdjustor();/* * 返回業(yè)務(wù)邏輯對(duì)報(bào)表單元格式(包括精度)的處理器 * * return IBusiFormat */public abstract IBusiFormat getBusiFormat(String areaName, SmartModel smartModel);3. 區(qū)域條件自由報(bào)表中語(yǔ)義模型的執(zhí)行

42、是以擴(kuò)展區(qū)域?yàn)閱挝坏?,所以查詢條件中需要針對(duì)每個(gè)擴(kuò)展區(qū)域獲取其語(yǔ)義模型執(zhí)行條件。此接口的實(shí)現(xiàn)類應(yīng)該在public中。報(bào)表平臺(tái)提供了此接口的默認(rèn)實(shí)現(xiàn):com.ufida.report.anareport.base. BaseAreaCondition。/* * 為報(bào)表中各個(gè)區(qū)域設(shè)置的“查詢”條件 * */public interface IAreaCondition /* * 返回額外設(shè)置的語(yǔ)義模型描述器數(shù)組,包括:排序、篩選、匯總等 * return Descriptor */public abstract Descriptor getAllDescriptors();/* * 返回外部設(shè)置的

43、報(bào)表區(qū)域參數(shù)數(shù)組 * return Parameter */public abstract Parameter getParameters();4. 業(yè)務(wù)格式業(yè)務(wù)格式接口nc.itf.iufo.freereport.extend.IBusiFormat, 用于實(shí)現(xiàn)業(yè)務(wù)邏輯對(duì)報(bào)表數(shù)據(jù)的特殊格式要求。此接口的實(shí)現(xiàn)類應(yīng)該在public中。/* * 業(yè)務(wù)邏輯對(duì)報(bào)表格式的處理接口 * */public interface IBusiFormat public static int BUSIFORMAT_TYPE_NONE = 0;/ 沒有業(yè)務(wù)格式public static int BUSIFORMAT_

44、TYPE_COLUMN = 1;/ 整列(字段)使用同樣的業(yè)務(wù)格式public static int BUSIFORMAT_TYPE_ROW = 2;/ 業(yè)務(wù)格式和行數(shù)據(jù)相關(guān)/* * 返回報(bào)表區(qū)域中,指定語(yǔ)義模型字段的業(yè)務(wù)格式類型,請(qǐng)使用本接口的常量定義 * * param areaPK * param smartID * param fldName * return */public abstract int getFormatType(String fldName);/* * 返回指定字段的整列精度,如果不需要重新指定則請(qǐng)返回TableConstant.UNDEFINED * * para

45、m areaPK * param smartID * param fldName * return */public abstract int getColumnDigital(String fldName);/* * 根據(jù)行數(shù)據(jù)返回指定字段的精度,如果不需要重新指定則請(qǐng)返回TableConstant.UNDEFINED * * param areaPK * param smartID * param fldName * param rowData * return */public abstract int getDataDigital(String fldName, IRowData ro

46、wData);/* * 返回字段新的整列格式 * * param areaPK * param smartID * param fldName * param oldFormat * return */public abstract IFormat getColumnFormat(String fldName, IFormat oldFormat);/* * 根據(jù)行數(shù)據(jù)返回字段對(duì)應(yīng)新的單元格式 * * param areaPK * param smartID * param fldName * param rowData * param oldFormat * return */public

47、abstract IFormat getDataFormat(String fldName, IRowData rowData, IFormat oldFormat);5. 格式調(diào)整器格式調(diào)整器接口nc.itf.iufo.freereport.extend.IReportAdjustor, 用于實(shí)現(xiàn)根據(jù)查詢條件動(dòng)態(tài)更改報(bào)表格式的要求。但是一旦業(yè)務(wù)代碼進(jìn)行了格式調(diào)整,意味著用戶自己定義的報(bào)表格式一定會(huì)有損失,請(qǐng)慎重使用。此接口的實(shí)現(xiàn)類應(yīng)該在public中。/* * 自由報(bào)表格式模型調(diào)節(jié)器 */public interface IReportAdjustor /* * 進(jìn)行單個(gè)擴(kuò)展區(qū)域的格式模型調(diào)

48、整 * * param context * param areaPK * param reportModel */public abstract void doAreaAdjust(IContext context, String areaPK, IAreaCondition areaCond, AbsAnaReportModel reportModel);/* * 進(jìn)行報(bào)表格式模型的調(diào)整 * * param context * param reportModel */public abstract void doReportAdjust(IContext context, AnaReport

49、Model reportModel);如果業(yè)務(wù)邏輯需要對(duì)報(bào)表數(shù)據(jù)進(jìn)行再加工處理,則可用上面的格式調(diào)整器同時(shí)實(shí)現(xiàn)報(bào)表數(shù)據(jù)調(diào)整接口nc.itf.iufo.freereport.extend.IReportDataAdjustor。/* * 自由報(bào)表數(shù)據(jù)模型的業(yè)務(wù)代碼擴(kuò)展 * */public interface IReportDataAdjustor extends IReportAdjustor /* * 進(jìn)行交叉表頭的處理 * * param context * param areaPK * param reportModel */public abstract CrossTableModel

50、 doAdjustCrossHeader(String areaPK, IContext context, CrossTableModel crossTabel,AbsAnaReportModel reportModel);6. 工具方法格式調(diào)整器中如果需要設(shè)置報(bào)表格式,建議使用報(bào)表平臺(tái)統(tǒng)一提供的工具類:/* * 區(qū)域內(nèi)容設(shè)置工具類 */public class AreaContentSetUtil /* * 根據(jù)區(qū)域內(nèi)容設(shè)置重新設(shè)置擴(kuò)展區(qū) * * param areaContentSet * param anaModel * return */public static boolean re

51、setExCellByAreaContent(AreaContentSet areaContentSet, AbsAnaReportModel anaModel) ;/* * * 將擴(kuò)展區(qū)域的語(yǔ)義模型參數(shù)增加為報(bào)表參數(shù),并設(shè)置該擴(kuò)展區(qū)域參數(shù)的值取新報(bào)表參數(shù)的值. * * param areaname擴(kuò)展區(qū)域名稱 * param anaModel報(bào)表模型 * param doSetParamValue是否設(shè)置該擴(kuò)展區(qū)域參數(shù)的值取新報(bào)表參數(shù)的值 * return */public static boolean addReportParameter(AbsAnaReportModel anaModel,boolean

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論