潤(rùn)乾報(bào)表設(shè)計(jì)器可以幫助用戶設(shè)計(jì)各種行業(yè)的報(bào)表,直接進(jìn)入軟件就可以創(chuàng)建新的設(shè)計(jì)方案,可以在軟件編輯SQL數(shù)據(jù),可以加載excel模板到軟件設(shè)計(jì),可以集成多種插件設(shè)計(jì)報(bào)表,可以設(shè)計(jì)可視化的統(tǒng)計(jì)報(bào)表以及動(dòng)態(tài)的數(shù)據(jù)報(bào)表,功能非常強(qiáng)大,滿足大部分行業(yè)對(duì)報(bào)表的功能需求,如果你需要分析企業(yè)數(shù)據(jù),統(tǒng)計(jì)數(shù)據(jù),可以使用這款潤(rùn)乾報(bào)表設(shè)計(jì)器制作適合當(dāng)前業(yè)務(wù)需求的新報(bào)表,加載數(shù)據(jù)到報(bào)表就可以執(zhí)行分析和統(tǒng)計(jì),軟件與Excel無(wú)縫交互,支持sql代碼,需要就可以下載使用!
1、潤(rùn)乾報(bào)表的作用
提升圖表的開發(fā)效率
表格少的,可以用代碼寫,幾十上百?gòu)埍砀衲兀兪止ば枰枚嗌贂r(shí)間?
格式復(fù)雜,邏輯復(fù)雜的,做起來更是頭大
需求總變來變?nèi)ィ薷暮途S護(hù)成本太高
使用潤(rùn)乾報(bào)表可以數(shù)倍得提升開發(fā)效率
圖形自己做不美觀,而且工作量巨大
用第三方的相對(duì)簡(jiǎn)單,但集成和學(xué)習(xí)成本也不小
潤(rùn)乾自帶各類統(tǒng)計(jì)圖,并且內(nèi)置了echarts,做圖美觀又方便從各行業(yè)合作伙伴的實(shí)際使用情況證明:使用潤(rùn)乾報(bào)表做表格和圖形,可以極大的提升效率,節(jié)省成本
潤(rùn)乾報(bào)表為什么做表效率高呢?往下看!
完善系統(tǒng)結(jié)構(gòu)
不僅做表格和圖形快,報(bào)表工具自帶的外圍功能還能很好的完善補(bǔ)充自己系統(tǒng)的功能
也可以看到報(bào)表在整個(gè)應(yīng)用體系架構(gòu)中的位置
2、非線性報(bào)表模型
先看線性的
再看非線性的
多源分片
多源分片是中國(guó)式復(fù)雜報(bào)表的特點(diǎn),在一個(gè)報(bào)表中包含多個(gè)數(shù)據(jù)集(數(shù)據(jù)庫(kù))數(shù)據(jù),在報(bào)表中以多個(gè)分片的方式呈現(xiàn)
行列對(duì)稱
任意復(fù)雜報(bào)表都可以橫向和縱向兩種方式實(shí)現(xiàn),行上的配置和操作在列上同樣可以進(jìn)行
不規(guī)則分組
除了常規(guī)分組匯總,還支持按段分組、歸并分組等不規(guī)則分組方式
除了“華北和華東”,其他地區(qū)的數(shù)據(jù)都?xì)w并到“其他”分組中
按照金額的不同區(qū)間,不同分段來分組動(dòng)態(tài)格間計(jì)算
格間計(jì)算主要指跨單元格運(yùn)算,常見的同比環(huán)比就是典型的格間計(jì)算
格間計(jì)算可以寫出很復(fù)雜的計(jì)算目標(biāo)(同比、環(huán)比、累積、占比、排名.……)
這里“比去年同期”計(jì)算時(shí),只會(huì)比較有去年同月的數(shù)據(jù)
什么是非線性報(bào)表模型?
能快速制作這類復(fù)雜報(bào)表的就是“非線性報(bào)表模型”
“中國(guó)式復(fù)雜報(bào)表” 的概念,就是20年前潤(rùn)乾首先提出的
“非線性報(bào)表模型” 就是潤(rùn)乾解決這些復(fù)雜報(bào)表的的方案,是潤(rùn)乾的專利
這些概念和方案一直是報(bào)表行業(yè)的標(biāo)準(zhǔn),一直被沿用至今
純手工或者其他報(bào)表工具怎么做這些復(fù)雜的報(bào)表?
潤(rùn)乾非線性報(bào)表模型又是如何做的?非線性報(bào)表模型的優(yōu)勢(shì)
手工或者傳統(tǒng)報(bào)表
編寫復(fù)雜SQL語(yǔ)句
編寫存儲(chǔ)過程
建立輔助中間表
編寫程序計(jì)算
頁(yè)面拼接
潤(rùn)乾非線性模型
用函數(shù)和表達(dá)式直接就做出來了
多源分片:像簡(jiǎn)單報(bào)表一樣直接寫表達(dá)式
比去年同期:用層次坐標(biāo)一個(gè)式子搞定=C2/C2[`0]{A2==$A2-1 && B2==$B2}
按段分組:plot 函數(shù)搞定
潤(rùn)乾非線性報(bào)表模型做什么表都是簡(jiǎn)單報(bào)表!
3、潤(rùn)乾的工作原理
整體工作原理
分步說明:第一步設(shè)計(jì)報(bào)表模板
在潤(rùn)乾類Excel的設(shè)計(jì)器(IDE)中,配置數(shù)據(jù)源,設(shè)置數(shù)據(jù)集,拖拽設(shè)計(jì)模板
分步說明:第二步在web服務(wù)器發(fā)布報(bào)表
潤(rùn)乾是標(biāo)準(zhǔn)J2EE結(jié)構(gòu),把潤(rùn)乾的應(yīng)用包,復(fù)制到應(yīng)用系統(tǒng)中,XML文件配置數(shù)據(jù)源信息,編輯JSP文件配置展現(xiàn)報(bào)表的TAG標(biāo)簽
分步說明:第三步瀏覽報(bào)表
然后在瀏覽器中輸入U(xiǎn)RL,訪問對(duì)應(yīng)JSP,就可以瀏覽報(bào)表了,同時(shí)還可以做打印或者導(dǎo)出到Excel等的操作了
4、報(bào)表功能
基礎(chǔ)報(bào)表不基礎(chǔ)
在這部分材料中,將展示潤(rùn)乾報(bào)表的基礎(chǔ)功能,這里的“基礎(chǔ)”是相對(duì)潤(rùn)乾報(bào)表其他高級(jí)/獨(dú)有功能而言的,而這部分“基礎(chǔ)”功能涵蓋了市面上主流報(bào)表產(chǎn)品的絕大部分核心功能,包括一些高級(jí)企業(yè)級(jí)功能
使用基礎(chǔ)報(bào)表(產(chǎn)品版本中的報(bào)表版)可以滿足絕大多數(shù)用戶對(duì)報(bào)表的功能期望,實(shí)現(xiàn)同類報(bào)表工具的絕大部分功能
滿足90%以上功能期望功能速覽
設(shè)計(jì)與調(diào)試參數(shù)控制主子報(bào)表報(bào)告生成
多源數(shù)據(jù)分片宏報(bào)表組Dashboard與大屏
行列對(duì)稱SQL植入防備凍結(jié)表頭移動(dòng)端呈現(xiàn)
不規(guī)則分組圖表呈現(xiàn)折疊報(bào)表高可用與高性能
動(dòng)態(tài)格間計(jì)算圖章水印數(shù)據(jù)鉆取集成部署
數(shù)據(jù)源種類報(bào)表樣式打印導(dǎo)出API接口
報(bào)表設(shè)計(jì)與調(diào)試
潤(rùn)乾報(bào)表采用桌面的類Excel設(shè)計(jì)器,開發(fā)者可以在設(shè)計(jì)器中預(yù)覽報(bào)表
或使用內(nèi)置Tomcat將其發(fā)布到WEB上預(yù)覽,以方便查看頁(yè)面效果
類EXCEL報(bào)表設(shè)計(jì)
報(bào)表文件設(shè)計(jì)采用類EXCEL風(fēng)格,這樣開發(fā)出來的報(bào)表格式規(guī)整(相對(duì)控件類),開發(fā)人員上手也更簡(jiǎn)單
EXCEL無(wú)縫交互
在報(bào)表設(shè)計(jì)階段,可以將業(yè)務(wù)部門提供EXCEL表樣導(dǎo)入設(shè)計(jì)器繼承EXCEL樣式快速開發(fā)報(bào)表
在報(bào)表查看時(shí),報(bào)表可以無(wú)失真導(dǎo)出EXCEL,方便業(yè)務(wù)部門使用
中國(guó)式復(fù)雜報(bào)表
潤(rùn)乾的非線性報(bào)表模型完美解決了中國(guó)式復(fù)雜報(bào)表的制表問題
*潤(rùn)乾報(bào)表一直是業(yè)內(nèi)對(duì)復(fù)雜報(bào)表支持全面、性能出色的產(chǎn)品
數(shù)據(jù)源種類
基礎(chǔ)報(bào)表主要支持三類常見的數(shù)據(jù)源類型
JDBC/ODBC數(shù)據(jù)源
文件數(shù)據(jù)源
JAVA自定義數(shù)據(jù)源
*文件數(shù)據(jù)源包括TXT、EXCEL、CSV等數(shù)據(jù)文件參數(shù)控制
報(bào)表可以接收參數(shù)實(shí)現(xiàn)數(shù)據(jù)過濾和權(quán)限控制
參數(shù)可以通過定制參數(shù)模板用來錄入,也可以使用用戶自有的表單,或通過WEB傳遞
潤(rùn)乾報(bào)表參數(shù)表單
提供多種編輯風(fēng)格:
下拉日歷下拉樹下拉列表……外部輸入?yún)?shù)
SessionRequest
API
……
宏
使用宏(${參數(shù)名})可以進(jìn)行表達(dá)式動(dòng)態(tài)替換,實(shí)現(xiàn)更靈活的查詢條件
報(bào)表開發(fā)者可以定義一個(gè)及其通用的報(bào)表模板,通過參數(shù)和宏來實(shí)現(xiàn)不同報(bào)表的呈現(xiàn)效果
SQL植入防備
支持敏感詞配置,有效防止報(bào)表SQL注入攻擊
圖表呈現(xiàn)
支持表格、圖形或圖表結(jié)合的呈現(xiàn)方式
潤(rùn)乾報(bào)表提供30+種內(nèi)置統(tǒng)計(jì)圖類型,同時(shí)支持ECharts/D3等第三方JS圖庫(kù)
圖章水印
提供電子簽章/簽名、水印、二維碼/條形碼等功能
報(bào)表樣式
可以定義局部樣式,作用于某一單元格和或行列,也可以定義全局樣式進(jìn)行整體報(bào)表風(fēng)格把控
*適用場(chǎng)景:要求報(bào)表呈現(xiàn)風(fēng)格與系統(tǒng)整體設(shè)計(jì)一致時(shí)主子報(bào)表
主子表提供了報(bào)表嵌報(bào)表的呈現(xiàn)方式,這樣可以在一個(gè)報(bào)表中展現(xiàn)不同主題(格式)的分片內(nèi)容
*在這個(gè)例子中,報(bào)表中各片的格線(縱向)是不對(duì)齊的,如果不使用主子表很難實(shí)現(xiàn)這樣的效果
報(bào)表組
報(bào)表組將多個(gè)報(bào)表組合到一起,以多sheet方式呈現(xiàn),整個(gè)報(bào)表組共用同一套參數(shù)
凍結(jié)表頭
報(bào)表很高或很寬時(shí),通過凍結(jié)(鎖定)表頭固定表頭信息方便數(shù)據(jù)查看
折疊報(bào)表
多層分級(jí)報(bào)表可以采用折疊/展開方式呈現(xiàn)
數(shù)據(jù)鉆取
表格和圖形提供超鏈接鉆取功能,通過傳遞表格/圖形參數(shù)實(shí)現(xiàn)匯總到明細(xì)、報(bào)表到報(bào)表的數(shù)據(jù)穿透和鉆取效果
*除了不同頁(yè)面間跳轉(zhuǎn),還可以在一個(gè)頁(yè)面實(shí)現(xiàn)圖表聯(lián)動(dòng)
打印導(dǎo)出
導(dǎo)出
支持多類型文件與多導(dǎo)出選項(xiàng)
*支持ECharts圖形導(dǎo)出
打印
APPLET、FLASH、PDF打印適應(yīng)不同打印環(huán)境
APPLET打印
客戶端需安裝JAVA插件
FLASH打印
客戶端需安裝flash播放器 ,用戶系統(tǒng)往往自帶PDF打印
大部分瀏覽器無(wú)需安裝任何插件即可使用
預(yù)覽打印、直接打印、批量打印、套打,適應(yīng)不同打印場(chǎng)景
預(yù)覽打印
預(yù)覽打印效果,可更改打印設(shè)置直接打印
不預(yù)覽,直接打印,適用快速打印場(chǎng)景批量打印
適用于需要同時(shí)打印多張報(bào)表場(chǎng)景套打
適用于打印輸出到票據(jù)類有格式紙張
*支持ECharts圖形打印報(bào)告生成
將多個(gè)報(bào)表、文字、圖片等內(nèi)容輸出到WORD指定位置,形成內(nèi)容豐富的報(bào)告
Dashboard與大屏
支持企業(yè)儀表版(Dashboard),將多個(gè)報(bào)表按指定布局進(jìn)行呈現(xiàn)
Dashboard可以用于PC/移動(dòng)端的領(lǐng)導(dǎo)看板,也可用于數(shù)據(jù)大屏呈現(xiàn)
移動(dòng)端呈現(xiàn)
報(bào)表采用全面的HTML5輸出,適用于多種終端,支持多種操作系統(tǒng)
*【注意】潤(rùn)乾報(bào)表不提供完整的移動(dòng)APP,用戶可將報(bào)表嵌入自己的APP中使用
高可用與高性能
支持集群部署,支持集群緩存同步保證報(bào)表查詢性能
靜態(tài)和動(dòng)態(tài)并發(fā)結(jié)合控制,保證報(bào)表服務(wù)器高效穩(wěn)定運(yùn)行
集群緩存同步
用戶訪問A節(jié)點(diǎn)產(chǎn)生的報(bào)表緩存,可以同步給B節(jié)點(diǎn)為另外用戶返回報(bào)表查詢結(jié)果(無(wú)需再次計(jì)算報(bào)表)動(dòng)態(tài)并發(fā)控制
靜態(tài)并發(fā)控制用于指定同時(shí)計(jì)算的報(bào)表數(shù)量;動(dòng)態(tài)并發(fā)控制則根據(jù)同時(shí)計(jì)算的報(bào)表單元格數(shù)進(jìn)行控制集成部署
可采用taglib方式進(jìn)行集成,嵌入到已有系統(tǒng)中;也可以單獨(dú)部署報(bào)表服務(wù)進(jìn)行調(diào)用
Tag標(biāo)簽自由插入網(wǎng)頁(yè)需要位置
幾十種標(biāo)簽屬性靈活配置
API方式實(shí)現(xiàn)更靈活控制
樣式文件實(shí)現(xiàn)皮膚快速切換
*嵌入式和服務(wù)式集成各有優(yōu)缺點(diǎn),前者與應(yīng)用結(jié)合更緊密但耦合性更高;后者松耦合但要面臨服務(wù)通信時(shí)可能的問題
API接口
豐富的API便于深度控制
5、潤(rùn)乾報(bào)表的優(yōu)勢(shì)
優(yōu)勢(shì)1:比國(guó)外開源 - 功能全面易用
開源報(bào)表大都比較老舊,有些操作都不是類EXCEL的,操作不易
開源報(bào)表基本都是國(guó)外的,文檔難懂,而且不全,學(xué)習(xí)不易
開源報(bào)表大都功能不全,比如很多都沒有填報(bào)功能,使用不易
其實(shí)現(xiàn)在開源報(bào)表基本已經(jīng)很少有人用了,論壇之類的交流場(chǎng)所也基本荒蕪了;而且商用報(bào)表越來越便宜,就更無(wú)人問津了
優(yōu)勢(shì)2:比國(guó)內(nèi)商用 - 老牌性價(jià)比高
潤(rùn)乾報(bào)表專業(yè)報(bào)表20年,是中國(guó)式復(fù)雜報(bào)表的提出者,更是解決方案的先行者。是國(guó)內(nèi)報(bào)表工具的代表,功能全面穩(wěn)定,性能好
潤(rùn)乾價(jià)格公開透明,不僅為用戶節(jié)省財(cái)務(wù)成本,更為雙方節(jié)省了人力溝通成本,我簡(jiǎn)單,你方便,通用工具類產(chǎn)品,原本就應(yīng)該這么簡(jiǎn)單!
優(yōu)勢(shì)3:市場(chǎng)占有率高可信賴
潤(rùn)乾專注報(bào)表20年,累積的用戶、合作伙伴、市場(chǎng)占有率都遙遙領(lǐng)先。能想到的各行業(yè)軟件開發(fā)商,基本都在用潤(rùn)乾
1、中國(guó)報(bào)表鼻祖,開創(chuàng)非線性報(bào)表模型解決復(fù)雜報(bào)表
2、網(wǎng)格模式、多源分片、行列對(duì)稱、格間計(jì)算、…高效報(bào)表引擎,數(shù)據(jù)計(jì)算和表格渲染性能無(wú)出其右
3、純Java易部署、企業(yè)級(jí)超穩(wěn)定、集群緩存帶同步
4、特有數(shù)據(jù)準(zhǔn)備腳本,低成本應(yīng)對(duì)沒完沒了的報(bào)表開發(fā)
5、熱切換、多樣源、易開發(fā)、緩庫(kù)壓,一個(gè)都不能少全套可集成BI組件,附送源碼。輕松擁有自有品牌BI系統(tǒng)
6、含多維分析(拖拽自助報(bào)表)、 報(bào)表管理中心、 DBD、微信集成
1、將潤(rùn)乾報(bào)表直接安裝到電腦,點(diǎn)擊下一步
2、設(shè)置軟件的安裝地址C:Program Filesraqsoft
3、啟動(dòng)潤(rùn)乾報(bào)表設(shè)計(jì)器、一鍵啟動(dòng)報(bào)表中心、顯示說明文件
4、打開軟件就可以點(diǎn)擊新建報(bào)表功能,可以在軟件創(chuàng)建新的報(bào)表,也可以新建報(bào)表組,新建填報(bào)表、新建行式填報(bào)
5、SQL編輯器界面,如果你需要設(shè)計(jì)報(bào)表就可以在這里添加數(shù)據(jù)內(nèi)容,設(shè)置數(shù)據(jù)字段
6、支持?jǐn)?shù)據(jù)集工廠偵聽器類名、數(shù)據(jù)集工廠過濾器類名、數(shù)據(jù)集記錄行設(shè)置
7、工具菜單界面:添加到樣式、添加為預(yù)定義格、配色方案、JSP編輯器、腳本編輯、導(dǎo)入Excel、上載文件
8、接管控制臺(tái)
保存時(shí)自動(dòng)備份(加文件后綴BAK)
自動(dòng)連接(最近連接)
粘貼單元格時(shí)調(diào)整表達(dá)式
動(dòng)態(tài)提示設(shè)置的屬性
模板菜單
單元格內(nèi)輸入回車時(shí)切換自動(dòng)換行
模板菜單
單元格內(nèi)輸入回車時(shí)切換自動(dòng)換行
應(yīng)用程序外觀Silver
文字折行微調(diào)寬度
日志級(jí)別DEBUG
默認(rèn)配色方案
Double.NaN的顯示值NaN
9、自動(dòng)打開(最近文件)
將異常寫入日志文件
阻止計(jì)算數(shù)據(jù)集的字段名
記憶窗口位置大小
自動(dòng)過濾字體
在字符處折行
提醒授權(quán)即將過期
歷史步驟最大數(shù)目20
連接數(shù)據(jù)庫(kù)時(shí)最長(zhǎng)等待10秒
數(shù)值格式化類名
缺省配色方案作用范圍:IDE編輯
10、可以在軟件配置報(bào)表樣式配置、格子樣式文件、授權(quán)文件名稱、日志文件名稱、應(yīng)用資源路徑、報(bào)表模板路徑
11、初始化屬性設(shè)置:紙張類型、默認(rèn)單位、上邊距、行數(shù)、格子屬性、字體、水平對(duì)齊、縱向?qū)R、尺寸調(diào)整
12、JSP主目錄、JSP文件字符集、標(biāo)簽庫(kù)文件名/WEB-INF/raqsoftReport.tld、標(biāo)簽庫(kù)前綴report
13、使用已安裝的集算器配置
集算器安裝目錄
尋址路徑web/webapps/demo/WEB-INF/reportFiles
主目錄
注意:相對(duì)路徑請(qǐng)不要以或開頭
臨時(shí)目錄
初始化程序
外部庫(kù)目錄
自定義函數(shù)文件
14、啟動(dòng)服務(wù)器
停止服務(wù)器(S)
WEB預(yù)覽(I)
手機(jī)預(yù)覽報(bào)表
啟動(dòng)示例數(shù)據(jù)庫(kù)
停止示例數(shù)據(jù)庫(kù)
15、這里是軟件的幫助界面,可以打開教程內(nèi)容,可以查看填報(bào)教程
分組報(bào)表
本節(jié)我們將介紹一個(gè)常規(guī)的分組報(bào)表的例子,學(xué)習(xí)group()函數(shù)的用法。
一個(gè)例子
我們先看下面這個(gè)分組報(bào)表:
從上面的這個(gè)報(bào)表可以看出,這是一個(gè)分組報(bào)表,左邊按照地區(qū)維度進(jìn)行了完全的分組,整個(gè)報(bào)表被分成東北、華北、華東、華南、西北、西南等6組,我們看一下這樣的報(bào)表在潤(rùn)乾報(bào)表中是如何設(shè)計(jì)的:
1、 首先通過“報(bào)表”-> “數(shù)據(jù)集”菜單,定義數(shù)據(jù)集:
ds1:SELECT 客戶.城市,客戶.地區(qū),訂單明細(xì).數(shù)量,訂單明細(xì).單價(jià) FROM 客戶,訂單,訂單明細(xì) WHERE 客戶.客戶ID = 訂單.客戶ID AND 訂單.訂單ID=訂單明細(xì).訂單ID
2、 寫入單元格表達(dá)式,如下圖所示:
此報(bào)表保存為11.1.1.rpx。
從上圖可以看出,該報(bào)表最關(guān)鍵的是A2格和B2格,利用group函數(shù)對(duì)數(shù)據(jù)集進(jìn)行了分組,并把分組結(jié)果在報(bào)表中進(jìn)行縱向擴(kuò)展。
這個(gè)例子用到了group函數(shù),下面我們做一下介紹:
group()
函數(shù)說明:
根據(jù)分組表達(dá)式,從數(shù)據(jù)集中選出一組組集。
語(yǔ)法:
datasetName.group({,filterExp};;{ groupSortExp }:{ groupOrderExp }) //適用于不需要排序或數(shù)據(jù)集中已排好序
datasetName.group({,filter_exp};{sort1}{:order1},…;{ groupSortExp }:{ groupOrderExp })
參數(shù)說明:
selectExp 選出的分組表達(dá)式,可以是字段列名/列號(hào),也可以是表達(dá)式。列號(hào)用#n表示,例如#0代表第0列,#1代表第1列,依此類推
filterExp 過濾表達(dá)式
sort1 分組前記錄的排序依據(jù)表達(dá)式
order1 分組前記錄的排序順序,省略為不排序,>0升序,<0降序;order1,..,ordern省略時(shí)升序
groupSortExp 分組后對(duì)組的排序表達(dá)式,一般是匯總運(yùn)算的表達(dá)式,如組合計(jì)等
groupOrderExp 組排序順序,>0升序,<0降序
選項(xiàng):
@r 是否為根數(shù)據(jù)集表達(dá)式
返回值:
一組數(shù)據(jù)的集合,數(shù)據(jù)類型由selectExp的運(yùn)算結(jié)果來決定
示例:
例1:ds1.group(class)
把數(shù)據(jù)集ds1中所有記錄按照class字段不排序只進(jìn)行分組,相鄰相同的值分到一組,并返回每組的class值組成的集合
例2:ds1.group(class:-1 )
把數(shù)據(jù)集ds1中所有記錄按照class字段降序排列,然后根據(jù)class進(jìn)行分組,并返回每組的class值組成的集合
例3:ds1.group(class,gender=='1'; class)
從數(shù)據(jù)源ds1中選取性別為"1"的記錄,按照class字段升序排列,然后根據(jù)class進(jìn)行分組,并返回每組的class值組成的集合,order1缺省為升序
例4:ds1.group(class, gender=='1'; id:-1 )
從數(shù)據(jù)源ds1中選取性別為"1"的記錄,按照id字段降序排列,然后根據(jù)class進(jìn)行分組,并返回每組的class值組成的集合
例5:ds1.group(省份;省份:1; sum(工業(yè)產(chǎn)值):-1)
對(duì)數(shù)據(jù)集ds1按照省份進(jìn)行分組,分組后求出每組的sum(工業(yè)產(chǎn)值),然后按照這個(gè)匯總值對(duì)組進(jìn)行逆序排列
例6:ds1.group@r(GENDER;GENDER;ds1.sum(SALARY))
對(duì)根數(shù)據(jù)集ds1按照GENDER進(jìn)行分組,分組后求出每組的sum(SALARY,然后按照這個(gè)匯總值對(duì)組進(jìn)行升序排列
●注意:
group函數(shù)是對(duì)數(shù)據(jù)集按照某個(gè)字段或者表達(dá)式進(jìn)行分組,獲得一組組的集合,然后從每組中取出一個(gè)指定字段或者表達(dá)式的值,放到單元格中進(jìn)行擴(kuò)展,擴(kuò)展出來的每個(gè)單元格都保留了一個(gè)指針指向當(dāng)前的組集,該組集稱為當(dāng)前組。
因此在附屬單元格中,需要對(duì)該組集進(jìn)行操作時(shí),不需要用任何條件和主單元格關(guān)聯(lián)了,如果加設(shè)了條件,反倒畫蛇添足,導(dǎo)致報(bào)表引擎還對(duì)組集中的記錄進(jìn)行遍歷檢索。
正確的group 用法:
不合理的group用法:
group函數(shù)的原理圖示:
不完全分組
我們把報(bào)表11.1.1.rpx做些變化,不要把所有的記錄用于分組,因?yàn)槟承┙M用戶并不關(guān)心,我們僅僅保留“華北”、“華東”這兩個(gè)組,把剩余的組全部歸并成一組,命名為“其他”,報(bào)表樣式如下圖所示:
這種僅僅對(duì)數(shù)據(jù)集中的部分記錄進(jìn)行分組的報(bào)表,我們稱為不完全分組報(bào)表。
這種不完全分組的報(bào)表,不能簡(jiǎn)單地用SQL中的過濾條件來實(shí)現(xiàn),因?yàn)槭S鄾]有參與分組的記錄也要在“其他”組中進(jìn)行統(tǒng)計(jì),而不是SQL中過濾掉就行了。
看看潤(rùn)乾報(bào)表中如何實(shí)現(xiàn)這樣的報(bào)表:
1、 首先通過“報(bào)表”-> “數(shù)據(jù)集”菜單,定義數(shù)據(jù)集
ds1:SELECT 客戶.城市,客戶.地區(qū),訂單明細(xì).數(shù)量,訂單明細(xì).單價(jià) FROM 客戶,訂單,訂單明細(xì) WHERE 客戶.客戶ID = 訂單.客戶ID AND 訂單.訂單ID=訂單明細(xì).訂單ID
2、 定義單元格屬性和表達(dá)式
(1) 在A2單元格輸入表達(dá)式:=ds1.group(地區(qū),地區(qū)=='華東' or 地區(qū)=='華北';地區(qū):1)
(2) 在B2單元格輸入表達(dá)式:=ds1.group(城市;城市:1)
(3) 在C2單元格輸入表達(dá)式:=ds1.sum(數(shù)量*單價(jià))
設(shè)置顯示格式為:¥#0.00
(4) 在B3單元格輸入表達(dá)式:=ds1.group(城市,地區(qū)!='華東' and 地區(qū)!='華北';城市:1)
(5) 在C3單元格輸入表達(dá)式:=ds1.sum(數(shù)量*單價(jià))
設(shè)置顯示格式為:¥#0.00
3、 報(bào)表保存為11.2.rpx,報(bào)表預(yù)覽
●說明
可以看出,潤(rùn)乾報(bào)表處理這種問題很巧妙,潤(rùn)乾報(bào)表提供的select和group函數(shù)均帶有過濾條件參數(shù),可以在進(jìn)行選出或者分組的時(shí)候,過濾掉無(wú)關(guān)的記錄,僅僅對(duì)部分記錄進(jìn)行分組。之后還可以對(duì)同一個(gè)數(shù)據(jù)集重復(fù)進(jìn)行多次的分組或者選出、匯總操作,從而可以實(shí)現(xiàn)很復(fù)雜的分組報(bào)表。
20230113
1. 更新產(chǎn)品幫助文檔
2. 富文本增加刪除線標(biāo)簽
3. 報(bào)表中心超鏈接節(jié)點(diǎn)增加用戶名、郵箱、手機(jī)、用戶報(bào)表參數(shù)的配置
4. 解決了使用API向Word插入圖片時(shí)的自適應(yīng)問題
20221210
1. 更新產(chǎn)品幫助文檔
2. 填報(bào)表增加“多行文本”編輯風(fēng)格
3. 填報(bào)表增加“字段名稱包含空格時(shí)提示”選項(xiàng)
4. 填報(bào)表增加刪除行前的js回調(diào)函數(shù)beforeDeleteRow
5. 集算器數(shù)據(jù)集增加“腳本文件優(yōu)先在WEB應(yīng)用中查找”選項(xiàng)
6. 大報(bào)表增加exportPageFetchSize屬性,優(yōu)化大報(bào)表導(dǎo)出內(nèi)存溢出的問題
7. 解決了下拉日歷設(shè)置時(shí)分秒不顯示秒的問題
網(wǎng)友評(píng)論