版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DocRef:REFDocRefNumber<>深入淺出叢書系列2015-09-15IfSection1>1“DateAuthorVersionChangeReference2015-09-15陳顯智1.0NoPreviousDocumentReviewersNamePositionDistributionCopyNo.NameLocationLibraryMasterProjectLibraryProjectManagerNoteToHolders:Ifyoureceiveanelectroniccopyofthisdocumentandprintitout,pleasewriteyournameontheequivalentofthecoverpage,fordocumentcontrolpurposes.Ifyoureceiveahardcopyofthisdocument,pleasewriteyournameonthefrontcover,fordocumentcontrolpurposes.ContentsTOC\o"2-3"DocumentControl ii1. Pentaho初探 21.1. Pentaho簡介 21.2. Pentaho安裝 32. Pentaho功能 72.1. 查看報表、分析 72.2. 創(chuàng)建數(shù)據(jù)源Schema 92.3. 創(chuàng)建數(shù)據(jù)源連接(JDBC) 122.4. Pentaho系統(tǒng)管理 153. Pentaho開發(fā) 173.1. 創(chuàng)建CDE分析報表 173.2. 創(chuàng)建JPivot報表 274. Pentaho拓展 314.1. 使用SchemaWorkbench創(chuàng)建數(shù)據(jù)源 314.2. 使用ReportDesigner創(chuàng)建報表 394.3. 使用Saiku插件創(chuàng)建多維度分析 455. Pentaho改造 505.1. 數(shù)據(jù)庫遷移 505.2. 多語言處理 555.3. 界面修改 576. OpenandClosedIssuesforthisDeliverable 61OpenIssues 61ClosedIssues 61PAGE10Pentaho初探Pentaho簡介Pentaho是一個以工作流為核心的、強調面向解決方案而非工具組件的BI套件。它偏向于與業(yè)務流程相結合的BI解決方案,側重于大中型企業(yè)應用。它允許商業(yè)分析人員或開發(fā)人員創(chuàng)建報表,儀表盤,分析模型,商業(yè)規(guī)則和BI流程。Pentaho整合了多個開源項目,主要包括一個WebServer平臺和幾個工具軟件:報表,分析,圖表,數(shù)據(jù)集成,數(shù)據(jù)挖掘等,可以說包括了商務智能的方方面面。本文檔主要對Pentaho入門級的一些知識和開發(fā)進行介紹,大數(shù)據(jù)、調度計劃等內容將在后面的高級篇中進行介紹。功能和特點工作流引擎:SharkandJaWE數(shù)據(jù)庫:FirebirdRDBMS集成管理和開發(fā)環(huán)境:Eclipse報表工具:EclipseBIRTETL工具:Enhydra/KettleOLAPServer:MondrianOLAP展示:JPivot數(shù)據(jù)挖掘組件:Weka應用服務器和Portal服務器:JBoss單點登陸服務及LDap認證:JOSSO自定義腳本支持:MozillaRhinoJavascript腳本處理器知識拓展:Mondrian是一個開放源代碼的Rolap服務器。它實現(xiàn)了xmla和jolap規(guī)范,而且自定義了一種使用mdx語言的客戶端接口。Mondrian的元數(shù)據(jù)主要包括olap建模的元數(shù)據(jù),不包括從外部數(shù)據(jù)源到數(shù)據(jù)庫轉換的元數(shù)據(jù)。在功能上,Mondrian支持共享維和成員計算,支持星型模型和雪花模型的功能。Pentaho版本Pentaho有商業(yè)版和社區(qū)版,并提供了多種安裝平臺的系統(tǒng)安裝介質。社區(qū)版為開源,授權協(xié)議為:GPL,LGPL,它是開源的,代碼以從官方網站分離,由Sourceforge代為管理。開源社區(qū)地址:/Sourceforge地址:/projects/pentaho/商業(yè)版需要付費,但提供了試用版本。Pentaho安裝主要組件本文主要涉及到BusinessAnalyticsPlatform、ReportDesigner的使用。BusinessAnalyticsPlatform商務分析平臺DataIntegration數(shù)據(jù)集成ReportDesigner報表設計器PentahoMarketplacePentaho市場設計工具本文主要涉及到SchemaWorkbench工具的使用。AggregationDesigner聚合設計器SchemaWorkbenchSchema工作臺MetadataEditor元數(shù)據(jù)編輯器第三方常用插件Saiku是非常流行的多維分析報表展示平臺,也可以獨立安裝部署。Saiku多維度分析組件BusinessAnalyticsPlatform安裝步驟1)下載安裝程序,目前最新版本是Pentaho5.4/project/pentaho/Business%20Intelligence%20Server/5.4資源說明:biserver-manual-ce--130.zip自定義安裝PentahoBI平臺,資深用戶可能會使用到這一資源biserver-ce--130.zip內置了PentahoBI服務器及管理控制臺的Windows版本,當然解壓后可以同樣用在其他OS中這里一般直接下載biserver-ce--130.zip進行安裝使用2)解壓程序壓縮包,有如下目錄主要文件說明:data主要存放Demo數(shù)據(jù)文件或腳本pentaho-solutions主要存放Pentaho系統(tǒng)組件、配置文件等third-party-tools主要存放Pentaho第三方插件工具tomcat主要存放Pentaho用到的WebServer及JavaWeb程序start-pentaho.batstart-pentaho.shWindow或Linx平臺下Pentaho啟動腳本start-pentaho-debug.batstart-pentaho-debug.shWindow或Linx平臺下Pentaho關閉腳本3)安裝JDK,設置環(huán)境變量JAVA_HOME4)點擊腳本start-pentaho.bat啟動Pentaho由于Tomcat啟動腳本中沒有指定JVM的內存大小,根據(jù)默認大小容易產生內存溢出的情況,因此建議,設置JVM的啟動大小,路徑:biserver-ce\tomcat\bin\catalina.bat如圖顯示PentahoBI平臺服務器就緒,說明Pentaho已經正常啟動Web地址http://localhost:8080/pentaho用戶/密碼管理員:Admin/password業(yè)務員:Suzy/password5)進入PentahoHome主頁6)總之,基于Pentaho套件安裝程序進行系統(tǒng)安裝是很方便的,其中數(shù)據(jù)庫使用的是自帶免安裝的HSQLDB。Pentaho功能Pentaho安裝后就能夠使用它的標準功能,主要包括:報表、分析瀏覽;數(shù)據(jù)源創(chuàng)建、報表、分析創(chuàng)建;報表、分析的權限管理;任務調度管理;職責、用戶管理等。下面將結合Pentaho中的Sample數(shù)據(jù)庫和數(shù)據(jù),對一些常用的功能進行說明和分析。查看報表、分析1)點擊BrowserFiles->Folders->PublicPublic文件下有一些做好的報表或者分析實例2)點擊車輪生產銷售分析->Analysis下的2005Q1ProductAnalysis,可以看到當前用戶針對這個分析的使用權限文件操作說明:Open:打開文件,等同于雙擊文件的效果Openinanewwindow:在新窗口打開文件Edit:編輯文件Cut:剪切文件Copy:復制文件,可以把文件復制到其他有權限操作的目錄MovetoTrash:刪除文件Rename:重命名Download:下載文件Share:對文件進行權限管理,如分配和回收等AddtoFavorites:加入關注Properties:查看文件的屬性3)打開2005Q1ProductAnalysis分析報表說明:這是基于JPivot技術開發(fā)的分析報表,目前Pentaho對其已經不在繼續(xù)提供支持,對于多維度分析報表,現(xiàn)在在Pentaho平臺上采用得比較多的是在Saiku插件,關于Saiku插件的內容,后面章節(jié)再介紹。4)Report報表查看與Analysis分析相似,這里以IncomeStatement報表進行展示說明:此報表是基于ReportDesigner開發(fā)的,如何使用PentahoReportDesigner報表開發(fā)工具進行報表開發(fā),后面章節(jié)再介紹。創(chuàng)建數(shù)據(jù)源Schema數(shù)據(jù)源Schema是Report報表和Analysis分析展示數(shù)據(jù)的來源。由于Pentaho是BI前端展示平臺,因此這里的數(shù)據(jù)源主要是數(shù)據(jù)倉庫或數(shù)據(jù)集市中面向主題的數(shù)據(jù),當然也可以是直接用于展示的業(yè)務數(shù)據(jù)。本小節(jié)將介紹SQLQuery方式創(chuàng)建DataSourceWizard類型的數(shù)據(jù)源,這也是Pentaho中最常用的一種方式。1)點擊File->New->DataSource進入數(shù)據(jù)源Schema創(chuàng)建界面(在ManageDataSources功能下也可以進行數(shù)據(jù)源Schema的創(chuàng)建)2)輸入數(shù)據(jù)源名稱、選擇來源類型,這里選擇名稱:DS_TEST來源類型:SQLQuery知識拓展:基于Pentaho數(shù)據(jù)源向導創(chuàng)建的數(shù)據(jù)源支持的數(shù)據(jù)來源類型有SQLQuery:SQL查詢數(shù)據(jù)源、CSVFile:CSV格式文件、DatabaseTables:數(shù)據(jù)庫表。3)選擇數(shù)據(jù)庫連接,這里使用SampleData,新建數(shù)據(jù)源連接見后面章節(jié)。4)在SQLQuery區(qū)域編寫SQL腳本,這里查詢Sample中客戶表Customs的所有數(shù)據(jù)5)通過DataPreview來驗證SQL是否正確,點擊右下角的DataPreview查看6)點擊Finsh完成數(shù)據(jù)源Schema創(chuàng)建,點擊File->ManageDataSources進行管理知識拓展:DataSourceWizard類型的數(shù)據(jù)源創(chuàng)建后,Pentaho系統(tǒng)會自動生成數(shù)據(jù)源Mondrian文件,可以使用編輯界面進行簡單修改。點擊Edit對數(shù)據(jù)源進行編輯修改:使用Export導出功能得到Mondrian文件DS_TEST.mondrian.xml文件:知識拓展:由于Pentaho自帶的創(chuàng)建數(shù)據(jù)源Schema的工具不太方便,因此建議使用第三方工具Schema-Workbench來管理Pentaho的Analysis分析或Report報表的數(shù)據(jù)源。創(chuàng)建數(shù)據(jù)源連接(JDBC)Pentaho提供主流的數(shù)據(jù)庫連接支持,可以很方便的進行數(shù)據(jù)庫連接并在數(shù)據(jù)源中進行使用。本小節(jié)將介紹使用Pentaho創(chuàng)建本地的Mysql數(shù)據(jù)庫的連接。目前自帶功能支持的數(shù)據(jù)庫主要有:Oracle、MSSqlserver、MySQL、Hive、PostgreSQL、MonetDB、H2、Hypersonic等1)進入ManageDataSources界面,點擊圖標,選擇NewConnection進行創(chuàng)建2)輸入ConnectionName:MySQLConnect,選擇數(shù)DatabaseType:MySQL,Access保持默認:Native(JDBC)2)輸入數(shù)據(jù)庫設置信息,下面是我本地MySQL數(shù)據(jù)庫的參數(shù)信息HostName:LocalhostDatabase:SampleDataPortNumber:3306UserName:rootPassword:root3)進行了基本設置之后,還可以對數(shù)據(jù)庫連接進行其他參數(shù)設置,可以使用左邊菜單中的Advanced、Options、Pooling等功能進行一些高級設置4)點擊Test進行數(shù)據(jù)庫連接測試,得到下圖結果表示數(shù)據(jù)庫連接成功知識拓展:創(chuàng)建數(shù)據(jù)庫連接的時候必須要保證在biserver-ce\tomcat\lib下存在對應的數(shù)據(jù)庫驅動程序Jar,如本實例用到的。另外值得注意的是數(shù)據(jù)庫類型展示出來的數(shù)據(jù),是由Pentaho啟動的時候根據(jù)lib下的驅動包進行加載的。5)點擊OK,完成數(shù)據(jù)庫連接創(chuàng)建,并可以在數(shù)據(jù)源管理界面中進行查看知識拓展:Pentaho支持多種數(shù)據(jù)源類型,上節(jié)創(chuàng)建數(shù)據(jù)源Schema為DataSourceWizard,本節(jié)創(chuàng)建的數(shù)據(jù)源連接為JDBC。另外Pentaho數(shù)據(jù)源類型還有Analysis分析數(shù)據(jù)源、Metadata元數(shù)據(jù)數(shù)據(jù)源。其中Analysis與DataSourceWizard數(shù)據(jù)源的原理是一致,只是Analysis是通過導入Mondrian文件進行創(chuàng)建。Metadata類型則是直接導入數(shù)據(jù)的XML文件進行創(chuàng)建。Pentaho系統(tǒng)管理1)在系統(tǒng)界面左上角下來列表中選擇Administration2)進入到系統(tǒng)管理界面中可以看到,用戶&職責管理、郵件服務器及其他系統(tǒng)設置系統(tǒng)管理界面功能使用整體比較簡單,這里就不再過多闡述。其中用戶&職責管理是比較常用的功能,可以在用戶&職責管理Tab頁中進行系統(tǒng)職責、管理職責和用戶管理。其中管理職責和用戶可以新增和刪除,系統(tǒng)職責不能進行新增和刪除。Report報表及Analysis分析等可以把權限掛到用戶或職責上,這樣就可以實現(xiàn)對其權限管理的粒度進行很好的控制。知識拓展:Pentaho的權限管理較為靈活,自帶的功能實現(xiàn)了一些基本功能,對于報表數(shù)據(jù)權限標準功能沒有很好的支持,后續(xù)高級開發(fā)將介紹怎樣通過登錄用戶對數(shù)據(jù)做屏蔽處理。Pentaho開發(fā)利用Pentaho自帶工具可以實現(xiàn)基本的Report報表、Analysis分析、數(shù)據(jù)源等開發(fā)工作。本章節(jié)將介紹基于Pentaho自帶的工具進行一些常規(guī)的開發(fā)。創(chuàng)建CDE分析報表PentahoDashboardsEditor(CDE)儀表盤編輯器,是Pentaho5.4自帶的工具,無需單獨安裝即可使用。本小節(jié)將介紹使用CDE工具開發(fā)分析報表。路徑:File->New->CDEDashBoard點擊CDEDashboard就可以進入CDE的編輯頁面如圖左上方的菜單為New、Save,和Setings沒有什么特別的,這里就不再贅述,右上方紅框中的三個面板是我們關注的重點:第一個是Layout(布局):控制CDE生成頁面的布局方式和定義容納組件的容器以行和列的形式來控制頁面布局,行和列都可以設置很多樣式屬性第二個是Components(組件):定義要用到的CDE組件并關聯(lián)到對應容器上切換到Components面板從右則的組件中選擇CCCPieChart和CCCBarChart指定大小、數(shù)據(jù)源、HtmlObject等第三個是DataSource(數(shù)據(jù)源):提供組件展示用到的數(shù)據(jù)切換到DataSource面板,左邊設置列表中有很多類型的數(shù)據(jù)源連接方式,如SQLQueries、MDXQueries、MQLQueries、KittleQueries、CommunityDataAccess、OLAP4JQueries等開源社區(qū)中的主流方式。通過上面對CDE的簡單介紹,相信對CDE有了初步的了解,接下來通過一個實例來介紹基于CDE的分析報表的開發(fā)步驟,本例子將MySQL數(shù)據(jù)庫中的客戶與客戶訂單數(shù)據(jù)進行分析,展示客戶及其訂單金額的情況,首先一睹為快:1)進入CDEDashboard創(chuàng)建界面,這里使用HOME界面中的菜單進入2)進入布局編輯界面,這里添加了三行(Row)第一行:放置柱狀圖第二行:空白分割行第三行:Dashboard底部樣式拓展知識:編輯界面右上角的按鈕從左往右功能依次是保存當前樣式到自定義模版庫中,以便后續(xù)使用使用模版庫中的模版添加外部CSS、JavaScript文件,以便在布局中引用添加Bootstrap框架布局添加獨立的表單區(qū)域添加行(Row)、添加列(Column)添加Space區(qū)域添加圖片組件添加HTML組件復制當前選中組件刪除選中組件3)在行1下添加列并設置屬性主要屬性:Name:BarPanelSpansize:13Height:4004)在行3下添加列并設置屬性Name:Footer_Image在列Footer_Image添加HTML區(qū)域,并添加引用LOGO圖標的HTML代碼HTML代碼如下:<astyle="position:relative;top:12;"border="0"title="WebDetails"/></a>5)進入組件編輯頁,在左邊的組件設置Charts下選擇CCCBarChart6)設置CCCBarChart組件的屬性Datasource:BarData此名稱將用于對應數(shù)據(jù)來源面板中的數(shù)據(jù)源名稱HtmlObject:BarPanel此名稱對應的是布局編輯面板中需要方式組件的區(qū)域名稱7)進入到數(shù)據(jù)源設置面板,這里選擇使用SQLQuery下的sqloversqljdbc的方式8)對數(shù)據(jù)源進行設置Name:BarData必須與組件定義界面BarChart中設置的數(shù)據(jù)源名稱一致Driver:com.mysql.jdbc.Driver連接數(shù)據(jù)庫的驅動程序Password:root數(shù)據(jù)庫密碼Username:root數(shù)據(jù)庫用戶URL:數(shù)據(jù)庫連接字符串jdbc:mysql://localhost:3306/sampledata?useUnicode=true&characterEncoding=utf-8Query:SQL查詢腳本SELECTc.CUSTOMERNAMECUSTOMER,SUM(o.QUANTITYORDERED*o.PRICEEACH)ORDERAMOUNTFROMcustomersASc,orderfactASoWHEREc.CUSTOMERNUMBER=o.CUSTOMERNUMBERANDc.CUSTOMERNUMBER<150GROUPBYc.CUSTOMERNAME9)點擊右上角按鈕進行CDE分析的預覽由于一睹為快已經進行了展示,這里截圖省略...10)保存CDE報表到文件夾,這里保存到Public文件夾下11)到文件夾Public下查看文件這里看到了三個文件,CDEAnalysisDemo(實際為CDEAnalysisDemo.wcdf)和CDEAnalysisDemo.cdfde是CDE生成的控制儀表盤的顯示的文件,而CDEAnalysisDemo.cda是CDA生成的文件提供數(shù)據(jù)支持下面詳細介紹一下這三個文件:>>CDEAnalysisDemo.wcdf文件介紹選中下載后用文本編輯器打開可以看到其實就是一個XML文件,這個文件定義了儀表盤的標題、對儀表盤的描述等,值得注意的是這個XML的根節(jié)點為CDF,因為CDE是基于CDF的。Title:定義當儀表盤被渲染時html頁面的標題可以在CDE編輯頁面設置,默認為文件名description:對儀表盤的描述,可以在CDE編輯頁面設置,默認為文件名author:作者記錄誰制作的這個儀表,盤默認為空style:指定儀表盤使用的模板,就是一個Html文件在pentaho-cdf-dd\resources\styles目錄下系統(tǒng)自帶Clean和WDDocs兩個模板,也可以定義自己的模板rendererType:渲染類型widget:一個布爾值指定這個儀表盤是否為一個窗口小部件(在保存是可以先Dashboard或widget)widgetname:窗口小部件的名字widgetparameters:渲染窗口小部件時需要的參數(shù)>>CDEAnalysisDemo.cda文件介紹CDA這個文件是CDA生成的,如果你沒有安裝CDA是不會有這個文件的,不過本例數(shù)據(jù)源涉及到了通過CDA取數(shù),就對這個文件做一個簡單說明,選中下載后用文本編輯器打開,可以看到這就是一個數(shù)據(jù)源的定義XML文件。包括數(shù)據(jù)庫連接驅動Driver、用戶User、密碼Pass、連接字符串Url、查詢語句Query等,都是些常用的JDBC知識,這里就不再一一贅述。>>CDEAnalysisDemo.cdfde文件介紹選中下載后用文本編輯器打開,由于內容太多,主要是對Layout布局、Component組件、Datasource數(shù)據(jù)源定義的描述,這里就截取一部分進行介紹Layout布局:Component組件:Datasource數(shù)據(jù)源:CDFDE文件主要定義儀表盤的布局和頁面中都包括哪些儀表盤組件,并進行了哪些設置,即CDE生成的控制儀表盤的顯示的描述文件。創(chuàng)建JPivot報表JPivot是一組用于操作OLAPTable的JSP標簽庫,用戶可以執(zhí)行基本的OLAP操作,如切片、切塊、上鉆、下鉆等。JPivot使用Mondrian作為它的OLAP服務器但也支持XMLA數(shù)據(jù)源訪問。目前Pentaho社區(qū)版已經停止了對JPivot的支持,但作為Pentaho自帶的多維度分析報表工具,本小節(jié)也將重點進行介紹。1)準備數(shù)據(jù)源,本實例將展示Pentaho自帶測試庫中的orderfact表中的訂單銷售數(shù)據(jù)進行展示,主要用到的字段如下:這里主要使用年度year_id、季度qtr_id、月度month_id的時間維度及產品productcode維度對銷售總額totalprice進行統(tǒng)計分析2)根據(jù)需要展示的事實表數(shù)據(jù)進行數(shù)據(jù)源Schema和Cube的創(chuàng)建,創(chuàng)建的方法可以參考1.3.2小節(jié)的內容DatasourceName:JPivotDataSQLQuery:SELECTof.totalprice,ductcode,of.year_id,of.month_id,of.qtr_idFROMorderfactasof3)對JPivotData數(shù)據(jù)源進行修改編輯,調整維度字段、計量字段。維度字段:YEAR、QTR、MONTH、PRODUCT計量字段:TOTAL在數(shù)據(jù)源管理界面,下載數(shù)據(jù)源描述文件進行查看(這里主要介紹,界面設置在XML描述文件中是如何體現(xiàn)的)可以看到XML的根節(jié)點為Schema的名稱名稱為JPivotData,Cube節(jié)點的屬性也為JPivotDataCube的結構中主要包含:View:數(shù)據(jù)源SQL或者TableDimensionUsage:維度區(qū)域,其中使用到的Dimension需要在Cube同級結構中進行定義申明Measure:計量字段定義4)點擊HOME界面菜單CreateNew->JPivotView進入到JPivot多維度報表創(chuàng)建界面5)選擇數(shù)據(jù)源及Cube,這里選擇前面建立的JPivotData數(shù)據(jù)源,并點擊OK6)進入到JPivot查看及設計界面,這里系統(tǒng)會根據(jù)數(shù)據(jù)源Cube的描述進行自動生成相關樣式和結構7),經過簡單的調整,這里主要是加上了圖標顯示功能,用戶可以在選擇查看不同維度指標數(shù)據(jù)的時候,響應的圖標也會根據(jù)展示的內容進行變化,所涉及到的設置功能都可以通過,編輯菜單相關的功能按鈕實現(xiàn),這里就不再一一講述下圖為調整后的展示效果,展示的是所有年度個季度銷售數(shù)據(jù)總和的數(shù)據(jù):8)保存報表到Public目錄下,名稱為:JPivotAnalysisDemoPentaho拓展使用SchemaWorkbench創(chuàng)建數(shù)據(jù)源PentahoSchemaWorkbench是一個Schema數(shù)據(jù)源定義及發(fā)布工具,主要基于Mondrian技術架構,您可以使用它通過界面化的方式對數(shù)據(jù)源進行定義,并直接通過工具發(fā)布到Pentaho系統(tǒng)中。SchemaWorkbench下載安裝1)SchemaWorkbench下載下載版本需要與Pentaho系統(tǒng)中Mondrian的版本一致。Mondrian存放路徑:biserver-ce\tomcat\webapps\pentaho\WEB-INF\lib這里可以看到Pentaho5.4中使用的Mondrian版本為3.1,因此SchemaWorkbench我們也選擇3.1的版本進行下載。下載地址:/projects/mondrian/files/schema%20workbench/2)SchemaWorkbench安裝SchemaWorkbench的安裝就沒什么特殊的,只需要系統(tǒng)中安裝JDK,并在環(huán)境變量中進行了配置即可。這里值得注意的是,由于SchemaWorkbench創(chuàng)建Schema數(shù)據(jù)源的時候需要通過JDBC連接不同的數(shù)據(jù)庫,需要把相應的數(shù)據(jù)庫驅動Jar包存放到工具的drivers目錄下,如本實例需要連接的MySQL數(shù)據(jù)庫的驅動Jar包。創(chuàng)建Schema過程1)準備數(shù)據(jù)源,本實例將展示Pentaho自帶測試庫中的orderfact表中的訂單銷售數(shù)據(jù)進行展示,有三個維度,年度、季度、月度,計量維度為銷售總額,數(shù)據(jù)庫MySQL。2)在schema-workbench目錄下點擊workbench.bat以打開schema-workbench工具3)在Options下選擇Connection建立數(shù)據(jù)庫連接,我本地的連接參數(shù)如下:連接名稱:SampleData連接類型:MySQL連接方式:Native(JDBC)主機名稱:localhost數(shù)據(jù)庫名稱:sampledata端口號:3306用戶名:root密碼:root數(shù)據(jù)庫連接面板,左側有一些高級的設置菜單,適合進行一些高級參數(shù)的設置,以提高連接的性能等4)點擊File->New->Schema創(chuàng)建Schema并保存為SaleData.xml5)右擊Schema,選擇Addcube,Name為:SaleAnalysis6)右擊SaleAnalysis,選擇AddView,Alias為:FACT7)右擊View,選擇AddSQL,在右邊窗口Value中添加SQL語句SELECTof.year_id,of.month_id,of.qtr_id,of.totalpriceFROMorderfactasof8)右擊SaleAnalysis,選擇AddMeasure,并設置屬性9)右擊Schema,選擇AddDimension,創(chuàng)建維度YEAR10)雙擊YEAR,設置所有層次的別名11)右擊這個層次,
addView,并填寫SQL12)右擊層次添加至少一個
Level,并設置相關屬性13)按照設置YEAR維度的方式設置,QURTER和MONTH14)右擊SaleAnalysi,選擇AddDimensionUsage,添加維度的引用15)按照設置YEAR維度引用的方式設置,QURTER和MONTH知識拓展:打開生成的SaleData.xml文件我們發(fā)現(xiàn),通過SchemaWorkbench生成的Schema數(shù)據(jù)源XML文件與之前介紹利用Pentaho自帶工具創(chuàng)建的Schema數(shù)據(jù)源沒什么區(qū)別,因為都是基于Mondrian技術架構,遵循的xmla和jolap規(guī)范。使用SchemaWorkbench的優(yōu)勢在于比使用Pentaho創(chuàng)建Schema數(shù)據(jù)源更加易于拓展和穩(wěn)定,功能也更加強大。到這里,一個Schema就已經建好了,下面進行介紹怎樣把在SchemaWorkbench中建好的Schema發(fā)布到Pentaho平臺中。在發(fā)布之前,首先要確保Pentaho處于開啟狀態(tài)。16)點擊File->Publish,并填寫相關參數(shù),我本地的參數(shù)如下:ServerURL:http://localhost:8080/pentaho/User:Admin(系統(tǒng)登錄用戶)Password:Password(系統(tǒng)登錄用戶密碼)PentahoorJNDIDataSource:MySQLConnect(數(shù)據(jù)庫連接必須保證已經存在,沒有則需要在Pentaho系統(tǒng)中創(chuàng)建,創(chuàng)建方法見前面章節(jié)內容)17)點擊Publish,對Schema進行發(fā)布18)登錄Pentaho系統(tǒng),進入數(shù)據(jù)源管理界面,如果看到發(fā)布上去的Schema名稱,則表示發(fā)布成功,并可以在后面的報表開發(fā)中使用使用ReportDesigner創(chuàng)建報表PentahoReportDesigner是一款所見即所得的開源報表設計工具,以JFreeReport為核心引擎,是一款所見即所得的報表設計工具。圖形化界面,支持拖放,目前支持5種格式(PDF,HTML,XLS,RTF,CSV)預覽和生成報表ReportDesigner特點介紹1)是一個獨立的報表設計工具。可以不依賴Pentaho的報表服務器2)提供基本的畫圖功能,主要包括:直線、長方形、橢圓等3)提供SQLquerybuilder,方便用戶創(chuàng)建自定義查詢4)支持XQuery,Mondrian和自定義數(shù)據(jù)源5)提供聯(lián)機報表校驗功能,隨時提示用戶當前報表存在什么錯誤6)與Pentaho集成性好,可以很方便地發(fā)布報表到Pentaho系統(tǒng)中ReportDesigner下載安裝1)下載ReportDesigner安裝介質下載地址:/projects/pentaho/files/Report%20Designer/5.4/在使用之前請確認系統(tǒng)已經安裝了JDK1.6及以上版本,并配置了JAVA_HOME等相關配置文件2)解壓文件,可以看到ReportDesigner的系統(tǒng)目錄,主要是Jar及配置文件等3)點擊report-designer.bat進入工具ReportDesigner實例開發(fā)本實例將使用ReportDesigner工具開發(fā)客戶資料報表,使用Pentaho測試庫SampleData中表customer_w_ter的數(shù)據(jù),在report-designer\lib\jdbc下添加驅動mysql-connector-java-5.1.17.jar1)點擊新增報表,并保存為ReportDesignerDemo,并在右上角Data頁中設置數(shù)據(jù)源2)選擇JBDC進入數(shù)據(jù)源配置界面3)配置JDBC參數(shù),并進行測試4)點擊確認后,回到JDBC數(shù)據(jù)源管理界面,添加報表查詢SQL,這里查詢customer_w_ter表中的客戶相關信息9)Data面板下我們可以看到,這里可以對Report定義功能或是Parameters參數(shù)等,本實例將不在繼續(xù)拓展這里添加一個Functions,用來處理頁碼,右鍵Functions->AddFunctions,選擇PageofPages,并改名為PageofPages10)調整布局,添加Label、text-filed組件進行編輯,詳細步驟較多,這里就不再贅述這里選中區(qū)域進行布局后,可以通過右側的Structrue進行屬性配置,如設置位置、大小、顏色、樣式等12)點擊運行按鈕進行調試,這里選擇PDF輸出13)發(fā)布報表到Pentaho,路徑File->Publish或者是14)點擊OK,如果連接成功會彈出Pentaho的文件管理界面,填好必要的參數(shù)和選擇所要存放的路徑15)發(fā)布成功后,登錄Pentao系統(tǒng),在BrowserFile下對Report進行管理16)點擊Open打開報表進行查看使用Saiku插件創(chuàng)建多維度分析Saiku是很強大的多維度報表分析工具。作為Pentaho的分析插件,可以完全替代Pentaho自帶的JPivot插件。目前Saiku也分社區(qū)版和企業(yè)版本。當然Saiku也可以獨立于Pentaho平臺,單獨部署使用,作為一個輕量級的OLAP分析引擎,可以方便的擴展、嵌入和配置。Saiku通過RESTAPI連接OLAP系統(tǒng),利用其友好的界面為用戶提供直觀的分析數(shù)據(jù)的方式,它基于JQuery做的前端界面。Saike插件安裝在Pentaho平臺上安裝Saiku插件很簡單,可以在Pentaho平臺的Marketplace中找到并進行安裝,下面簡單介紹一下使用Marketplace安裝第三方插件:1)進入Pentaho,在File菜單下選擇Marketplace2)進入Marketplace,搜索Saiku插件3)點擊SaikuAnalysis,選擇社區(qū)版本進行安裝4)安裝過程中可以在Java控制臺看到,Saiku插件下載的路徑5)安裝成功后可以在biserver-ce\pentaho-solutions\system目錄下看到Saiku程序6)重啟Pentaho后,可以在CreateNew菜單下選到SaikuAnalysisSaikuAnalysis實例本實例將使用Saiku插件創(chuàng)建一個簡單的分析報表,對銷售數(shù)據(jù)按照年度、季度和月度進行分析,使用之前SchemaWorkbench創(chuàng)建的SaleAnalysisCube1)進入Saiku插件主頁,由于是社區(qū)版本,只能使用CreateaNewquery功能2)進入創(chuàng)建SaikuAnalysis編輯界面3)在選擇多維度數(shù)據(jù)這里選擇SaleAnalysis,并通過拖拽的方式指定指標和行字段4)通過表格方式查看SaikuAnalysis,也是Saiku默認的方式5)點擊右上角柱狀圖標志,進入到圖標查看方式6)保存到文件下Public下,取名SaikuAnalysisDemo,在這里便可以對Saiku分析做權限等控制7)點擊Openinanewwindow在新窗口查看SaikuAnalysis知識拓展:Saiku插件中有很多其他功能,這里簡單列舉幾個>>條件過濾:可以根據(jù)條件過濾數(shù)據(jù)進行展示>>數(shù)據(jù)導出:Excel、CSV、PDF等格式的數(shù)據(jù)導出功能>>MDX編輯窗口:可通過MDX多維度表達式進行數(shù)據(jù)處理,適合高級用戶>>維度字段篩選器,用戶可以根據(jù)需要在維度字段對分析數(shù)據(jù)進行篩選Pentaho改造Pentaho平臺是由于自身標準功能的一些局限性,在實際應用中不是那么友好或符合實際應用要求,因此基于Pentaho的二次開發(fā)也是很常見的事情,本章節(jié)主要從切換數(shù)據(jù)庫、語言漢化及簡單頁面修改進行講解,介紹一些簡單的二次開發(fā)的流程。數(shù)據(jù)庫遷移由于Pentaho平臺自帶的數(shù)據(jù)庫為HSQLDB,在管理和使用過程中顯得不那么方便和強大,因此切換數(shù)據(jù)庫是Pentaho二次開發(fā)很基礎的工作,本小節(jié)將介紹把HSQLDB切換成MySQL數(shù)據(jù)庫的操作方法。1)準備MySQL數(shù)據(jù)庫,這里就不在單獨介紹MySQL數(shù)據(jù)庫的版本要求必須是5.0及以上,本地安裝的MySQL版本為5.12)把系統(tǒng)目錄下的SQL腳本導入到MySQL數(shù)據(jù)庫中這里可以使用MySQL的管理工具進行導入,或者是拷貝SQL腳本中的代碼,直接在MySQL管理工具的執(zhí)行窗口進行執(zhí)行,類似于PLSQLDeveloper中SQL窗口方式知識拓展:打開數(shù)據(jù)庫SQL腳本我們會發(fā)現(xiàn),默認的字符集為CHARACTERSETlatin1為了以后處理中文方便,這里把/biserver-ce/data/mysql5中3個SQL腳本,把建庫腳本的編碼格式由latin1改為utf83)腳本導入或執(zhí)行完后,可以在MySQL中看到創(chuàng)建的數(shù)據(jù)庫實例 現(xiàn)在準備工作已經做好,下面開始進行配置數(shù)據(jù)遷移到MySQL的具體操作4)修改/biserver-ce/pentaho-solutions/system/applicationCperties文件#把文件中的參數(shù)修改為如下選項datasource.driver.classname=com.mysql.jdbc.Driverdatasource.url=jdbc:mysql://localhost:3306/hibernatedatasource.username=rootdatasource.password=rootdatasource.validation.query=SELECT15)修改/biserver-ce/pentaho-solutions/system/applicationCperties文件#把文件中的參數(shù)修改為如下jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/hibernatejdbc.username=hibuserjdbc.password=passwordhibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect6)修改/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml文件#修改config-file標簽<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>7)修改/biserver-ce/pentaho-solutions/system/quartz/perties文件#修改如下參數(shù)org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate8)修改/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml文件修改driverClassName,url,validationQuery標簽<Resourcename="jdbc/Hibernate"auth="Container"type="javax.sql.DataSource"factory="mons.dbcp.BasicDataSourceFactory"maxActive="20"maxIdle="5"maxWait="10000"username="hibuser"password="password"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/hibernate"validationQuery="select1"/><Resourcename="jdbc/Quartz"auth="Container"type="javax.sql.DataSource"factory="mons.dbcp.BasicDataSourceFactory"maxActive="20"maxIdle="5"maxWait="10000"username="pentaho_user"password="password"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/quartz"validationQuery="select1"/>9)刪除/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml文件,該文件在啟動tomcat時會自動創(chuàng)建10)修改/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml文件,在啟動的時候不在啟動停用默認的hsqldb#注釋掉以下內容<!--context-param><param-name>hsqldb-databases</param-name><param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value></context-param--> <!--listener><listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class></listener-->11)創(chuàng)建Sample數(shù)據(jù),在pentaho5.4版本中并沒有Sample數(shù)據(jù),需要自行在網上下載sampledatamysql.sql腳本,并導入到MySQL數(shù)據(jù)庫中12)修改/biserver-ce/pentaho-solutions/system/simple-jndi/perties文件#注意對比文件內容,用下面代碼進行替換SampleData/type=javax.sql.DataSourceSampleData/driver=com.mysql.jdbc.DriverSampleData/url=jdbc:mysql://localhost:3306/sampledataSampleData/user=pentaho_userSampleData/password=passwordHibernate/type=javax.sql.DataSourceHibernate/driver=com.mysql.jdbc.DriverHibernate/url=jdbc:mysql://localhost:3306/hibernateHibernate/user=hibuserHibernate/password=passwordQuartz/type=javax.sql.DataSourceQuartz/driver=com.mysql.jdbc.DriverQuartz/url=jdbc:mysql://localhost:3306/quartzQuartz/user=pentaho_userQuartz/password=passwordShark/type=javax.sql.DataSourceShark/driver=com.mysql.jdbc.DriverShark/url=jdbc:mysql://localhost:3306/sharkShark/user=saShark/password=SampleDataAdmin/type=javax.sql.DataSourceSampleDataAdmin/driver=com.mysql.jdbc.DriverSampleDataAdmin/url=jdbc:mysql://localhost:3306/sampledataSampleDataAdmin/user=pentaho_adminSampleDataAdmin/password=password13)啟動BIServer,看看是否能夠正常啟動,如能正常啟動則表示數(shù)據(jù)庫切換成功14)登錄系統(tǒng),修改SampleData數(shù)據(jù)源的連接庫,由于Pentaho自帶的Sample數(shù)據(jù)庫是HSQLDB,這里我們已經進行了替換,因此需要到數(shù)據(jù)源管理界面中進行數(shù)據(jù)庫切換修改15)到此替換Pentaho默認數(shù)據(jù)庫HSQLDB為MySQL的工作就完成了,如果啟動發(fā)現(xiàn)問題,請根據(jù)步驟逐步進行檢查多語言處理Pentaho社區(qū)版目前自帶的語言包支持多種語言,默認為英語,官方目前不支持中文,因此對Pentaho進行漢化也是非常有必要的事情。Pentaho的多語言主要有兩種:界面多語言、報表多語言等。本小節(jié)將介紹怎樣在Pentaho平臺界面添加中文。Pentaho界面語言信息主要分成三類:提示信息、界面顯示信息和標題信息1)Pentaho界面多語言路徑biserver-ce\tomcat\webapps\pentaho\mantle\messages多語言文件以properties文件的格式存放,主要有filechooser文件選擇框多語言文件、MantleLogin登錄界面多語言文件、mantle主體界面多語言文件、Widgets插件界面多語言文件及supported_languages文件。2)在文件mantleMessages_supported_perties中添加一行zh=中文,并以UTF-8的編碼進行保存3)復制mantleMperties文件保存為mantleMessages_perties4)編輯mantleMessages_perties編輯文件并內容進行翻譯,并以UTF-8的編碼進行保存5)在Pentaho主菜單View->Languages->中文6)Pentaho完整界面刷新后,翻譯后的中文生效知識拓展:在地址欄里系統(tǒng)帶上了locale=zh的參數(shù),因為系統(tǒng)會自動根據(jù)瀏覽器語言進行語言篩選,沒有找到對應的多語言文件,則默認為英語??梢钥闯龃藭r主菜單也變成了翻譯后的中文,由于界面?zhèn)€性化的方式都大同小異,這里就不在贅述。在biserver-ce\tomcat\webapps\pentaho路徑下,用文本編輯器打開Pentaho系統(tǒng)的入口頁面index.jsp可以看出在登錄Pentaho系統(tǒng)的時候,系統(tǒng)會自動去加載\mantle\messages目錄下的多語言文件,并
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新型小區(qū)施工方案(3篇)
- 科技體驗活動策劃方案(3篇)
- 海印年會活動策劃方案(3篇)
- 河道環(huán)保施工方案(3篇)
- 花園裝修施工方案(3篇)
- 過期口紅活動方案策劃(3篇)
- 2025年智能交通系統(tǒng)設計與運營手冊
- 技能崗位培訓方案
- 2025年中職(市場調研)問卷設計階段測試卷
- 高二生物(穩(wěn)態(tài)專題)2025-2026年下學期試題及答案
- 2025年全國注冊監(jiān)理工程師繼續(xù)教育題庫附答案
- 波形護欄工程施工組織設計方案
- 自建房消防安全及案例培訓課件
- 2025年廣東省第一次普通高中學業(yè)水平合格性考試(春季高考)思想政治試題(含答案詳解)
- 2025云南楚雄州永仁縣人民法院招聘聘用制司法輔警1人參考筆試試題及答案解析
- 2024年和田地區(qū)遴選公務員筆試真題匯編附答案解析
- 股份掛靠協(xié)議書范本
- 動力電池熱管理系統(tǒng)設計指南-2025
- 小兒蜂窩組織炎基礎護理要點
- 無人機培訓課件
- 2025年內蒙古能源集團招聘(計算機類)復習題及答案
評論
0/150
提交評論