Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
《潤乾報表多維分析功能漫游》一文中我們已經見識了潤乾報表分析控件的妙處:可視化的拖拽模式,靈活的計算方式,脫離敲打復雜多變的查詢語句,只需要動動鼠標就可以獲取所需要的數據。除了多維分析外,潤乾報表還有dashboard分析界面那就是儀表盤,簡稱DBD,即大屏和分析控件的結合。
DBD可以通過圖表、圖形等視覺元素,將多個來源的數據中所蘊含的信息的趨勢、異常和模式展現出來。接下來讓我們看看當大屏與分析控件結合時會碰撞出什么樣的火花吧。
DBD支持多數據集,每個數據集又支持多報表,首先以demo示例數據庫中EMPLOYEE表為例,看看如何使用DBD。
首先啟動示例數據庫和服務器。然后在打開的瀏覽器中輸入訪問地址:http://localhost:6868/demo/raqsoft/guide/dbd/jsp/index.jsp;或者在打開的DQL元數據層設計器中點擊菜單“服務”→“儀表盤”,或者點擊菜單欄中的瀏覽圖標
,選擇“儀表盤”。
首頁展示的是DBD服務器的文件目錄,該目錄中存放著DBD文件及文件夾,DBD文件的介紹見下文。
點擊數據準備按鈕
,進入數據準備頁面。數據準備頁面如下圖,主要分為①菜單欄、②數據集設置、③報表設置、④布局+報表編輯幾個區域。
數據準備初始化頁面的布局+報表編輯區為2*3的網格面板,網格高200像素,寬隨屏初始大小變化。
點擊數據集按鈕,在彈出的管理數據及窗口上編輯數據集名稱和sql查詢語句,如下圖:
點擊【重新查詢數據,緩存入文件】
將查詢結果緩存入臨時文件,點擊【保存】,SQL數據集就創建完成了。然后就可以添加報表了。
報表塊是報表的載體,報表不能隨意移動的,然而報表塊卻可以隨意在網格布局上游走。
拖拽
點擊編輯區第一行的第一個單元格添加第一個報表塊:
數據集下拉框中選擇SQL數據集
拖拽字段EID到指標數據區,這樣EID的數據就顯示到第一個報表塊中的報表里了。
接著拖拽字段STATE、BIRTHDAY、DEPT、SALARY到指標數據區。
第一張報表內容如下:
當網格中報表內容顯示不全時,可使用報表塊上的滾動條滾動查看報表內容,亦可通過拖動網格邊框調整網格的行高和列寬以便報表內容在網格中全部顯示出來。
點擊報表塊左上角的報表名稱,編輯報表名稱,回車提交。
添加計算字段
如果報表的一個字段是由其他字段計算而來的(或者說是動態的),那么我們還可以根據自己的需求,采用自定義計算字段的方式,添加計算字段,實現個性化定制。例如,通過出生日期計算年齡。
點擊拖拽字段同行的添加計算字段按鈕
添加計算字段AGE,表達式為集算器表達式:
拖拽字段AGE到指標數據區:
匯總
使用同一個數據源,制作不同的報表,比如查看各部門總薪資,只需要DEPT和SALARY的數據。我們將DEPT拖拽到左表頭的位置,并將指標數據區中SALARY的匯總方式改為“求和”。
選擇區選中第二個報表塊,報表內容如下:
這樣第二個報表顯示的數據就是不同部門下員工薪資的總計了。
那么如果想要繼續在報表中添加顯示各個州有多少員工呢,就可以把EID字段拖拽到指標數據區,并且字段類型改為“計數”就可以了。這里的計數相當于SQL中的COUNT關鍵字。
如果想查看各個州和各個部門的員工數量及總薪資情況呢,此時我們將STATE拖拽到上表頭的位置即可,為了使數據展示更明確,還可以修改指標標題,例如:將SALARY求和改為總薪資。
更改表格樣式
說完報表數據的展示,我們要掰飭掰飭報表的樣式了,畢竟在如今“顏值為王”的現在,如何將數據展現的更好看,讓別人更愿意看,這也是一個技術活。
DBD展示報表時一般都使用默認的表格樣式。但遇到個性化報表展現時通常就難以滿足需求了。為此,產品提供了對默認表格樣式的修改,以及報表自定義模板兩種方式??梢孕薷姆治鰣蟊淼哪J展現樣式,也可以針對個性定制報表設置獨有的報表模板。
報表表格的樣式是通過一個模板報表style.rpx來控制的,該模板位于【安裝目錄】\report\web\webapps\demo\WEB-INF\files下:
B2、D2、F2、H2的單元格樣式分別與DBD展示報表中的標題、分組、指標1、指標2四個區域的樣式一一對應。所以在style.rpx中設置以上幾個單元格樣式即可同步更改DBD展示的報表的樣式。
下面我們修改下style.rpx單元格的樣式,例如修改標題區與分組區的字體顏色和背景色,指標2區域的背景色,標題區、分組區、指標1與指標2區域的邊框顏色:
此時報表預覽如下:
除了修改報表默認樣式,還可以使用報表自定義模板,往下看。
誠然普通報表可以使數據一目了然,不過如果有統計圖的輔助會使得報表更直觀。比如,想知道某個州的員工數和總員工數的比例時,可以使用餅圖,利用扇區的顏色區分不同的州,利用扇區的大小反映數據的差異。接下來輪到報表自定義模版中的統計圖登場了。使用報表自定義模板時,不僅可隨意定義模板展現樣式,還可在報表自定義模板中定義統計圖,報表模版中統計圖的設置和普通報表添加統計圖設置一致。
選擇區選中第三個報表塊,切換到統計圖,并選擇數據集:
在模版下拉框中選擇“單系列餅圖柱形圖”
在報表設置區拖拽字段STATE到分類 ,EID到系列值,第三個報表塊中報表就顯示出來了。點擊指標數據區EID字段旁邊的三角
,將“不匯總”改為“計數”。并修改報表名稱為地區分析:
如此,不需要吹灰之力,一張統計圖報表就做好了,是不是很貼心。
此時報表區有了3張報表,3張報表依次排列在第一行,空間利用不合理,而且不太美觀,接下來我們調整下布局,使報表排列更完美。
點擊選擇布局倒三角
,選擇三組件中的第一個。
報表區自動刷新:
如果需求中報表數量和報表大小明確的話,布局類型的選擇也可在編輯之初做。需要注意的是,中途修改布局時,新建布局格數需大于等于當前報表數。
點擊菜單欄的【保存】按鈕,將例子保存為employee.olap。
報表區報表塊位置可隨意調整,例如將員工明細和部門分析調換位置。只需選中員工明細表的選擇區,拖動到部門分析報表塊上,松開鼠標即可。
員工明細和部門分析互換位置。
當需要從海量數據做篩選時,采用一定的方法,從信息集合中找出所需信息是很有必要的。接下來我們看看如何在DBD中使用參數過濾,查詢部分數據。
這里以第一個報表塊中的報表"員工明細"為例,講述怎么過濾STATE為California、New York和Texas的員工數據。有兩種方式可以設置復雜條件。
方法一 :在字段STATE處點擊
下拉列表,選擇
,此處設置數據過濾條件僅對當前字段有效。
設置查詢條件:
方法二:在點擊報表塊上方欄目中的" 報表參數" 按鈕
,打開設置查詢條件界面。
編輯查詢條件內容和方法一一樣。
結果如下圖:
使用方法二可以設置復雜的過濾條件,可以選擇多個字段進行過濾條件的拼接。
如果想查看所有報表中STATE為California、New York和Texas的員工數據呢,該不會每個報表都添加過濾條件吧。那樣會多么繁瑣。不,不,我們有更簡便的方法,那就是使用數據集參數過濾,一次使用,所有使用該數據集的報表均有效。
點擊任意一個報表的選擇區,在數據集操作區點擊"數據集參數"按鈕
在打開的設置查詢條件界面上輸入過濾條件。
點擊【保存】,所有報表刷新,只顯示New York、California、Texas 3個州的數據。
是不是非常方便。數據集參數作用于使用同一個數據集的所有報表,設置數據集參數時不用選中某個報表。
剛才提到的是單數據集的過濾,現在再來看看多數據集過濾時數據集參數的使用效果。用demo示例數據庫中訂單表和訂單明細表分別做兩個數據集。然后做4個報表,布局選擇4組件中的第一個布局。
訂單:
訂單明細:
訂單數據集的過濾條件為訂單ID小于等于10255
訂單明細數據集的過濾條件為訂單ID大于等于10250且小于等于10255
報表區第一行報表使用訂單數據集,第二行報表使用訂單明細數據集,報表內容如下:
現在選中報表訂單修改訂單數據集的過濾條件為訂單ID小于等于10260,報表區數據刷新:
由此可見,數據集參數只作用于使用同一個數據集的所有報表,不同數據集之間即使參數名一樣也互不干擾。
再考慮一種情況,如果訂單明細數據集的過濾條件變為訂單ID大于等于10250且小于等于10260,也就是2個數據集有共性過濾:訂單ID小于等于10260,那么我們就要再修改訂單明細的過濾條件了。你可能會說,這不簡單嗎,直接選中訂單明細數據集編輯數據集參數就好了呀。試想如果數據集有很多個呢,是不是一個一個修改怪麻煩的。
那么有沒有一勞永逸的辦法呢,當然有啦,那就是使用共享參數。我們可以將共性過濾放到共享參數中。來我們一起了解一下這個神奇的參數定義功能吧。
單擊菜單欄共享參數,添加共享參數a:
修改訂單數據集的過濾條件:
修改訂單明細數據集的過濾條件:
報表區數據刷新:
之后,再查看某訂單ID以前的訂單信息時只需修改共享參數中a的值即可。省去了挨個修改數據集參數的時間,同時也避免了多個數據修改時過濾值一不小心輸入不一致的問題。
使用共享參數可以作用于多個數據集的多個報表,勢必大大提高工作效率。
使用預覽功能可預覽當前正在編輯的報表區的展示效果。例如打開employee.olap,菜單欄點擊【預覽】按鈕
dbd預覽效果如下:
在這里還可以調整報表塊的位置及報表塊的展示寬高。方法同編輯狀態時調整方式一樣。如:使員工明細的寬度變窄,部門分析的寬度變寬。只需將鼠標放到兩個報表塊中間的邊框上,鼠標變為
時左右拖拽改變邊框線位置即可。
使用視圖切換到mobile模式可查看mobile模式的預覽效果。
mobile模式下可調整移動端報表展現順序,如將部門分析表放到最上邊,只需選中員工明細表的選擇區,拖動到部門分析報表塊上,松開鼠標即可。
使用上傳到服務器功能,可將預覽結果保存成dbd文件,文件后綴為.dbd,用于目錄中查看和執行展示。dbd文件保存位置為【安裝目錄】\report\web\webapps\demo\WEB-INF\files\dbd下,上傳服務器的同時也可將dbd文件下載到本地。
上傳到服務器之后,目錄頁面就可以看到該dbd文件了
雙擊employee,即可查看該dbd文件中所有的報表了。
移動端目錄頁面的訪問地址:http://ip:6868/demo/raqsoft/guide/dbd/jsp/folder-mobile.jsp。移動端須和pc端位于同一局域網。
點擊employee即可在移動端查看該dbd文件中的所有報表。
看到這里,是不是對DBD有了初步的了解。使用DBD,可以通過拖拽的方式調整報表,放大縮小圖表,聯動分析,共享參數等。使用潤乾報表的DBD功能還可以做出超大畫面,富有科技感、酷炫的報表,心動不如行動趕快下載潤乾報表,著手一試吧。
、前言
潤乾報表是一款類型Excel的數據報表生成功能,有些系統業務是數據統計展示類的比較多,尤其是政府相關的系統。基本都喜歡報表+圖表展示在頁面中。
記得四年前,我在市局開發一款系統時,也是有許多的報表功能,那時候使用EasyUI前端UI畫報表,復雜點的報表畫得死去活來。當知道有潤乾報表這樣的軟件時,才發現,畫Excel格式的報表原來很簡單
二、潤乾報表介紹
潤乾報表是一個純JAVA的企業級 報表工具 ,支持對J2EE系統的嵌入式部署,無縫集成。服務器端支持各種常見的操作系統,支持各種常見的關系數據庫和各類J2 EE的應用服務器,客戶端采用標準純html方式展現,支持ie和netscape, 潤乾報表是領先的企業級報表分析軟件。它提供了高效的報表設計方案、強大的報表展現能力、靈活的部署機制,支持強關聯語義模型,并且具備強有力的填報功能和olap分析,為企業級數據分析與 商業智能 提供了高性能、高效率的報表系統解決方案。他是一個商業收費軟件,個人可以試用。
三、下載地址
http://www.raqsoft.com.cn/download/download-jsbb
四、使用介紹
1、打開軟件,新建一個報表
2、選擇你的數據集,所謂數據集就是你的數據來源,類型,參數等信息,我們先不選擇數據集,直接點擊“成生空白報表”,看圖2,是不是跟Excel很像
圖2
3、接下去,就是像Excel一樣,進行畫你的表格。復雜的報表基本都可以畫出來,這比使用JAVA直接寫Excel導出,前端顯示報表容易很多。
4、數據源配置(我這里采用數據庫的存儲過程)
4.1、創建參數及數據集。
a、參數:參數是報表向數據源獲取數據時所帶的參數,就比如報表需要調用數據庫的存儲過程,那你是不是需要帶參數查詢?或是報表需要A表的數據,這里的參數就是where后面的?號點位符,如果無需參數,也可以省略此步。比如下圖,我創建了兩個參數,一個開始時間,一個結束時間,名稱隨你取
b、數據集:這個很重要,名稱隨你取;點擊增加,選擇你的數據集類型(后面介紹);數據源你要選擇你的數據庫(數據源可以查看下圖二中配置)
c、新增數據集:有兩個Tab頁,一個是定義,一個是參數,參數這里跟我們前面設置的參數一樣,點擊增加,會自動在左側生成一個參數表達式,雙擊參數表達式,會彈出一個表達式編輯窗口(圖二)。
圖二說明:報表表達式是參數名稱,字段顯示的是參數,數據中的是我們最前面配置的參數,如果沒配置,這里是不會顯示的。右側是Excel的一些函數,并且還有報表自己的一些函數。點擊某個函數,再點擊函數幫助,你就能看到對應的函數說明。
d、參數定義:我這里調用的是數據庫里的存儲過程,所以CALL 存儲過程名稱(參數1,參數2)。這里的?號就是對應前面的參數配置,按順序對應。
e、調度數據:到此就配置完了,我們可以點擊數據集窗口中的“瀏覽數據”,他會彈出一個框,會對應你的參數,日期格式會有日期選項,雙擊數值,輸入后,點擊確定,就會彈出一個窗口,顯示你的查詢數據。到此,從數據源中獲取到了數據。接下去配置數據填充
5、數據填充
前面畫了表格,也配置了數據源,現在需要動態顯示我們的數據,在你的表格中,找到你要顯示數據的單元格,雙擊它。彈出單元格表達式編輯窗口,窗口使用前面有介紹過了。這里只介紹報表表達式。ds是數據集的名稱(前面自定義的).select是查詢表達式。這個查詢不是查數據庫,而是查我們獲取到的數據集(前面瀏覽數據時出現的數據,也就是把參數帶到數據源中查詢獲取到的數據集,在這個數據集中做select篩選操作)。select(獲取此字段的值,條件),點擊確定后,此單元格的數據訓設置完了。(沒錯,如果你有多個單元格需要顯示數據,你就得重復這樣設置表達式,要注意一點的是,如果你的數據是橫向顯示的,可能需要把擴展值設置成不可擴展(下圖二),否則會只顯示一條數據,是以屬性顯示的)
6、點擊左上角的文件菜單,選擇預覽,就可以看到生成好的填充報表的樣子了。
題現象:
潤乾報表在linux環境中單元格設置為自動換行,字體也設置為linux環境中存在的宋體,但換行時依舊顯示不全!如下圖所示:
自動換行后的只顯示一半
解決方法:
1.網上有方法是將windows下的字體替換到linux環境中可以解決,地址為:
http://blog.sina.com.cn/s/blog_ac8bb8070101ba15.html
2.有時即使使用上述方案調整后依舊不生效是,則需要通過以下方案進行嘗試:
使用快逸設計器打開raq文件后,單擊選中需要換行的單元格,不僅要設置1處的字體為宋體,還要設置2處的字體為宋體,至此可以完美解決問題。
需要同時設置1、2兩處的字體為宋體
*請認真填寫需求信息,我們會在24小時內與您取得聯系。