#
上次分享了移動端報表JS開發的系統概念,后來我又回去摸索了一些案例。之前接觸到的FineReport的APP客戶端可以用來打卡簽到,就好奇研究了以下,這次就來聊一聊報表移動端開發如何實現定位功能。
1. 解決思路
在用FineReport設計模板的時候添加一個按鈕控件,點擊該按鈕的時候,獲取當前地理位置,并將該位置信息復制給某個單元格,最后在客戶端填報當前模板即可。
2. 示例
實現如下圖所示效果,點擊地理位置按鈕獲取當前位置與當前時間,并顯示在下方對應的單元格中:

2.1 模板制作
打開設計器,新建一張模板,按照如下圖所示樣式設計模板,其中E2單元格為按鈕控件,控件名稱為地理位置,C5為下拉框控件,E5為時間控件:

2.2 獲取當前地理位置
獲取當前地理位置有兩種方式,一個是點擊按鈕獲取地理位置,一個是直接打開模板的時候就獲取位置,示例中,我們是想實現通過點擊按鈕獲取地理位置。
通過點擊按鈕獲取地理位置
打開按鈕的控件設置,為該控件添加一個點擊事件,如下圖:

js如下:

1. FR.location(function(status, message)
{ //獲取地理位置

2. if(status=="success")
{
3. //定位成功,message返回經緯度值
4. FR.Msg.alert("當前位置是" + message);
5. contentPane.setCellValue(2, 3, message);

6. } else
{
7. //定位失敗,message返回對應的錯誤信息
8. FR.Msg.alert(message); //定位失敗
9. }
10. });

FineReport通過FR.location方法獲取當前位置,如果status值為success,則表示獲取地理位置成功否則定位失敗,如果定位成功,則將返回的地理位置信息賦值給C4單元格。
但是該方法只在移動端有用,如果在web點擊該按鈕事件獲取地理位置,則直接提示定位失敗。
加載結束后獲取當前位置
如果想在模板加載結束之后就獲取到當前地理位置,那么只需要將上述代碼添加到加載結束后事件中即可,打開模板,點擊模板>模板web屬性>填報頁面設置,添加一個加載結束事件,如下圖:

2.3 獲取當前時間
在模板中還需要將當前簽到時間也賦值過去,所以還需要在按鈕的點擊事件中獲取到當前時間,并賦值給E4單元格,js如下:
11. var myDate = new Date();
12. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //獲取當前時間
13. contentPane.setCellValue(4, 3, mytime);

按鈕點擊事件全部js如下:

14. FR.location(function(status, message)
{ //獲取地理位置

15. if(status=="success")
{
16. //定位成功,message返回經緯度值
17. FR.Msg.alert("當前位置是" + message);
18. contentPane.setCellValue(2, 3, message);
19. var myDate = new Date();
20. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //獲取當前時間
21. contentPane.setCellValue(4, 3, mytime);
22.

23. } else
{
24. //定位失敗,message返回對應的錯誤信息
25. FR.Msg.alert(message); //定位失敗
26. }
27. });

將該模板添加到數據決策系統的節點樹上,其操作方法請查看添加模板,其中模板的預覽方式為填報,如下圖:
根據添加服務器章節介紹的操作步驟,用移動端登錄該系統,訪問該張模板,點擊地理位置按鈕獲取當前地理位置和當前時間,如下圖:
但是,FineReport獲取到的地理位置是經緯度,如需要確定其具體位置,就需要另外轉換。
移動端的開發還在持續學習中,感興趣的朋友可以和我一起探討研究。
摘要: 很多報表軟件可以利用JS接口來實現更多更復雜的功能。這需要開放大量的JS API給用戶,根據執行JS的主體不同可以將分為三大類:FR、FS和contentWindow。
閱讀全文
摘要: 很多報表軟件可以利用JS接口來實現更多更復雜的功能。以FineReport為例,開放了大量的JS API給用戶,根據執行JS的主體不同可以將分為三大類:FR、FS和contentWindow,以下將詳細介紹這三類方法的使用。
閱讀全文
摘要: 在實際的應用中會經常需要將數據導出成excel,導出的方式除原樣導出還有分頁導出、分頁分sheet導出和大數據量導出,這些導出方式在JAVA程序中分別有不同的接口來實現。
閱讀全文
某市公共交通總公司是當地從事公共交通行業的大型企業,旗下有七個子公司。這些年,公司大力發展信息化建設,已建成多個信息管理系統,涉及運營、管理、財務等方面。這些系統既相對獨立,又具有一定的聯系,彼此會互相調用其它系統的數據。但這些信息系統經過了近十年的使用與發展,其本身固有的限制已經越來越不適合當前企業的業務需求,主要體現在以下方面:
(1)應用功能不能實現完全自動化。
(2)網絡負載大,應用開發和維護繁瑣。
(3)由于系統存在功能不足,需要大量人手進行分析報表工作。
(4)系統本身的技術架構己經落后,不能滿足用戶不斷提出的對數據應用的要求。
(5)近十年累積的改動和擴展,使到系統過于龐大,接口很多,多種技術和平臺混合使用,應用和維護成本高。
(6)信息系統間共享數據的需求客觀存在,但由于各系統的開發時間、開發工具、部門要求以及在數據庫的選擇等不同原因,分布在網絡中的不同系統中的數據相互獨立,無法實現真正的信息資源共享。
(7)每個信息系統都有私有的數據庫,對于同一事物,可能在不同的系統中被賦予不同的意義,帶來語義混亂。不同系統中存儲格式存在差異,這些在綜合處理時都會帶來很大的麻煩同時,跨系統調用數據也會嚴重影響性能。
因此,該公司一直尋求既能不影響現有系統的運行,又能對全公司數據進行集中分析處理的方法,商業智能正是一個優秀的解決方案。利用商業智能軟件FineBI得天獨厚的穩定性和大數據處理優勢,各系統數據得以聯系,以往堆積的數據也都”活躍“起來。

也正因為這樣一個網絡式搭建的系統,車輛的信息得到歸檔集中,管理人員能夠實時有效地查看車輛運營信息和車輛維修保養狀況,輔助進行決策。

該公司實時商業智能已有數年歷史,管理人員已熟悉這種管理模式,商業智能的解決方案也給管理運行帶來如下益處:
(1)提高了查詢分析性能。
(2)減少和控制運營風險。
(3)通過增加效率來減少運營成本。
(4)通過智能化分析,合理安排車輛保養。
(5)分析報表自動化處理,減少人力物力支出。
(6)集成數據形成企業級信息視圖,便于綜合分析。
(7)通過智能化分析和數據挖掘捕獲知識,輔助管理決策。
某大型水泥企業在成功實施ERM項目后,財務、銷售、采購、庫存、質量、生產調度、原材料進廠、產品出廠、OA、CRM等系統均運行良好,為公司的管理提升、效率提高做出了較大貢獻。隨著公司的跨越式發展,公司管理逐漸從單一公司管理模式轉向集團管理模式,在新的管理模式下如何實現科學管理,成為了該集團管理所面臨的一個重要課題。
在財務管理方面,目前五個生產基地都已經建立獨立的信息系統,且都積累了大量的第一手生產經營數據。因此,如何對五個生產基地的數據進行多角度、多層次分析,發現公司生產經營中存在的優勢與薄弱環節,從全局性、系統性角度思考公司運作狀況及發展趨勢,挖掘隱藏在數據中的規律以此來指導公司集團化生產經營,為領導決策提供科學依據,是公司在管理層面上所迫切需要解決的問題。經過調研、分析與論證,該公司最終決定實施商業智能BI(Business Intelligence)項目。按照總體規劃、分步實施的原則,以財務為突破口,建立面向公司各部門、五個生產基地的商業智能BI系統。增強分析與挖掘數據資源的能力,提升公司科學管理水平。
由于財務系統的信息化基礎較好,并且已形成集團化管理模式。因此該公司打算以財務為突破口,建立面向公司各部門、五個生產基地,基于數據倉庫基礎之上的商業智能BI系統。主要功能是采用五個生產基地的基礎數據、預算數據、明細及業務數據,建立數據倉庫系統,基于財務分析管理需求,實現服務于公司各級領導及管理人員的智能化分析系統。
基于這樣的管理需求,采用FineBI提供的解決方案:
自動抽取各生產基地第一手業務數據、預算數據及BI系統所需要的其他數據。
數據經過轉換后導入FineCube多維數據庫。
數據經系統的綜合處理,形成多層次、多維度的最終分析結果。公司領導及各級管理人員可以快速準確地對公司生產經營數據進行及時有效的分析,為決策提供科學依據。

目前,通過這樣的一套系統,公司已基本實現以下幾大目標:
1.五個生產基地財務數據集成統一
完成了對五個生產基地的財務及預算成本數據的集成,各生產基地財務業務歷史和實時數據每天定時自動清洗加載至cube,數據每月定時自動加載。
2.大大減少報表設計工作量
搭配FineReport報表工具,利用BI系統豐富的圖表樣式和多維度分析,很大程度上減少了報表設計工作人員的工作量。
3.簡化復雜的計算,縮短查詢時間
BI系統采用了即席查詢的先進理念,彌補了傳統手工操作計算的不足,且響應時間大大縮短。
4.減輕業務系統負荷
大部分查詢分析工作可在BI系統上進行,降低了服務器負荷,提高了穩定性。
5.提供正確的決策信息
多維度分析多業務數據,可及時發現問題和潛在價值規律,輔助領導層做出正確的決策,提高企業自身競爭能力。

總之,FineBI系統的部署,整合了財務分析需要的所有數據,財務人員可以利用BI系統快捷、高效、深入的分析財務數據,將更多精力投入到挖掘隱藏在這些數據中的深層次的規律,發掘數據的價值,更好的指導財務工作。
隨著商業智能和大數據的價值不斷深入人心,各行各業均有了不同程度的探索,近幾年,商業智能系統開始在公安交通管理領域得到普及應用。相信未來,基于大數據分析的行業應用將更加深入,商業智能和大數據在公安領域的價值和應用模式將逐漸清晰。
如今,公安交通管理業務處理的信息化建設已經有了一定的規模,在日常警務工作中,這些商業智能應用系統及相關的數據庫大大提高了工作效率,完成了各項任務,優勢十分明顯。但隨著城市交通日益發達,管理的相關因素顯得更加錯綜復雜。加上原有系統在設計時是為滿足某個警務工作的需要而針對性建設的。這就造成信息的條狀分布,給信息系統帶來了新的挑戰,因此,新平臺系統建設將梳理信息資源,提高綜合管理信息應用決策能力。
Gartner Group提出,商業智能描述的是一系列的概念和方法,通過應用基于事實的支持系統來輔助商業決策的制定。商業智能技術能夠提供企業迅速分析數據的技術和方法,包括收集、管理和分析數據,將這些數據轉化為有用的信息,然后分發到企業各處。公安交通管理領域的商業智能系統必須具備智能性處理的能力,即綜合省市交管局的信息,整合信息孤島,提高信息分析質量,有力地支持警務工作開展。帆軟FineBI產品經理Julie認為,擁有良好的穩定性,具備百億級大數據處理能力和不錯的交互體驗,對發展公安交通行業至關重要。
一般而言,公安交通綜合管理系統的建設目標主要為以下兩點:
1、建立綜合信息應用能力,實現集中警力調配。
通過與現場信息的連接,通過與多種不同警務處理信息關聯,實現綜合信息應用能力,集中警力調配,從而大大提高出警、處理、監控與分析的效率。
2、整合各種應用系統,形成整體信息利用能力。
通過整合各種已有的警務處理、管理應用系統,形成整體信息利用能力,建立成為公安交通高科技、信息化的智能交通管理的信息平臺。
在系統的架構設計上,我們可以將公安交通管理智能平臺的系統架構分為4個層次:即道路現場、終端信息處理層、信息數據處理層以及信息綜合應用層,如下圖所示:

上一篇文章我們提到了字段為數據型的數據列排序方法,采用的是根據點擊次數奇偶性來排序,那如果是字段為字符型,又該如何實現呢?
這里提供的解決思路是通過超級鏈接來實現升序降序兩張模板之間的相互調用,每點擊一次就切換到另一張模板。
下面以一個簡單示例進行介紹:
1、修改數據集
升序模板
將原來的數據集修改為:SELECT * FROM [訂單] order by 客戶ID,根據字符型字段客戶ID對數據進行升序排序,另存為Order_A.cpt。
降序模板
將原來的數據集修改為:SELECT * FROM [訂單] order by 客戶ID desc,根據客戶ID對數據進行降序排序,另存為Order_B.cpt。
2、設置超鏈接
右擊客戶ID表頭所在單元格,選擇超級鏈接,點擊網絡報表,在網絡報表的路徑處選擇模板,Order_A和Order_B的設置分別如下:
Order_A:

Order_B:

要注意的是,鏈接打開于處選擇當前窗口。
3、效果查看
打開Order_A.cpt,點擊分頁預覽,看到的是按照客戶ID的升序排序,直接點擊客戶ID,則會按照客戶ID進行降序排序,再次點擊客戶ID,則會又按照客戶ID進行升序排序。

某體育用品公司在零售領域BI的產品應用解決方案
pasting
隨著某體育用品公司集團經營規模的不斷擴大,信息化的建設也在不斷的深入,從POS系統到ERP系統,從MAIL系統到OA系統,整個集團的每項工作都與信息系統密不可分,可以說是行業內信息化建設的先導者。但是隨著信息系統的日益增多,面臨的問題也不斷涌現,如信息孤島、大量歷史數據的閑置等,如何將多個信息系統的數據進行整合?如何將大量閑置的歷史數據提煉成知識?成為該集團管理層和IT部門案桌上的重要課題。
帆軟FineBI結合自己多年的BI行業經驗,針對以上問題提出了一個完善的解決方案,其解決方案的核心思想,是“一個平臺,兩個統一,三個層次,四個改善”,即:
一個平臺:搭建統一的數據分析平臺;
兩個統一:數據規范統一,報表分析規范統一;
三個層次:基礎業務層自主分析快速匯報、中間管理層匯總預警及時處理、最高決策層全局把控科學決策;
四個改善:基礎業務層自主分析快速匯報、中間管理層匯總預警及時處理、最高決策層全局把控科學決策。
圍繞這些核心思想,集團最終搭建了有力的數據挖掘、信息分析整理、數據管理等解決方案,幫助集團梳理和制定完善的報表體系,為其制定具有竟爭力的分析模式和模型、充分利用現有信息資源,讓各個業務部門實現銷售、產品規劃、財務、庫存等核心業務的輔助決策。

本商業智能BI系統中,我們總共分了如下幾個模塊:
1、高級綜合分析主題:本年銷售系統總體增長、綜合店效(南北區域)、區域零售總體增長水平、分銷業務部分區域訂貨情況、零售子公司分區域訂貨情況、坪效與競品差距等;
2、銷售及業績看板分析:新品銷售總體分析、新品銷售同期對比分析、各產品類別銷售-訂貨對比分析、交叉分析_按各分析維度、銷售排名分析等;
3、訂貨情況分析主題:訂貨總體情況、各指標總體規劃與實際訂貨對比、訂貨情況同期對比分析、交叉分析_按各分析維度、訂貨排名分析等;
4、客戶分析主題:Top客戶分區域訂貨情況、客戶級別分區域的狀態、VIP客戶分析等;
5、生產、庫存分析主題:產品庫存分析、在倉產品庫存時間分析、通路庫存分析等;
6、財務、KPI分析主題:總體收入、總體利潤、總體費用、應收帳款、零售公司指標分析等;
在各個分析主題中,我們充分發揮了FineBI的業務人員做報表的優勢,各層級人員可以自己拖拽做報表進行分析,通用的、典型的后期就納入到分析主題中,實現知識共享。
總體來看,我們對系統建設達到的目標可以總結為以下幾點:
1、通過信息及時的預警跟蹤,以關鍵有效的信息,為決策者提供了更為簡潔的監控能力,以提高管理效率,防范信息阻塞及死角帶來的風險。
2、通過信息關聯,以模型固化管理規范為手段,以信息引導數據的分析為方法,為決策者提供有力的決策依據。
3、通過財務、生產、銷售及采購的綜合信息,為決策者綜合管理平衡提供了有效的支持。
4、通過數據倉庫的建設,為企業建立多維分析的基礎;實現根據分析維度的靈活組合查詢與分析。
5、借助FineBI商業智能工具,實現頂層匯總數據監控到明細數據查詢分析;將分析由匯總到明細、由宏觀到微觀,提高企業分析的時效性與準確。
6、通過分析主題及模型的建立,為企業決策提供具有可決策、可預測的分析模型,將模型分類,形成各個分析主題,為企業在分析決策中,提供成體系的分析方法與思路。
7、在應用過程中,逐漸形成了一套標準數據信息的規范。