learn-spagobi-in-two-hours

pipidoudou

贡献于2016-04-13

字数:0 关键词:

Stephen Ogutu Learn SpagoBI in two hours Learn SpagoBI in two hours. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | Introduction. 2 Copyright © 2012 by Stephen Ogutu All rights reserved, including the right to reproduce this book or portions thereof in any form whatsoever. For information, address: Stephen Ogutu, P.O. Box 8031-00200 Nairobi Kenya. Trademarks: All other trademarks are the property of their respective owners. Stephen Ogutu is not associated with any product or vendor mentioned in this book. Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties or merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss or profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | Introduction. 3 Dedication This book is dedicated to the memory of my late mother, a great woman. My beautiful wife Sheila for her unending support and my two cute children Emmanuel and Shallin. You are the reason I do this. Acknowledgments Special thanks to the SpagoBI community and the ow2 consortium. Thank you all for creating a great product and documenting it effectively. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | Introduction. 4 Contents Introduction. ................................................................................................................................................. 5 Business Intelligence with SpagoBI ......................................................................................................... 6 Business Intelligence. ............................................................................................................................ 7 Introduction to SpagoBI ........................................................................................................................ 7 Downloading SpagoBI and installing SpagoBI. ...................................................................................... 8 Configuring SpagoBI. ............................................................................................................................. 9 OLAP with JPIVOT ................................................................................................................................ 15 Online Analytical Processing ............................................................................................................... 16 OLAP Cube. .......................................................................................................................................... 18 Your first Jpivot document in Spago BI. .............................................................................................. 18 Highchart Dashboards ............................................................................................................................. 33 BIRT Reports .......................................................................................................................................... 51 BIRT ..................................................................................................................................................... 52 Creating a dashboard with BIRT and SpagoBI ....................................................................................... 74 Creating a dashboard with BIRT and SpagoBI ..................................................................................... 75 Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | Introduction. 5 Introduction. How much information you learnt in school do you actually use in your daily life? Not so much. Most books contain hundreds upon hundreds of pages and the reader gets lost in so much detail they just give up. In writing this book, I have decided to cover only the important subjects in SpagoBI so that at the end of it you will be productive in SpagoBI. You can then use the online documentation available on the SpagoBI website to continue you journey in this beautiful piece of software. This book have been written to the non-technical user who just wants to download and start using SpagoBI immediately for his Business Intelligence assignment or to provide better reports for his company. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 6 LESSON ONE Business Intelligence with SpagoBI OBJECTIVES After completing this chapter, you should be able to: 1. Describe the importance of Business Intelligence to an Organization. 2. Download, install and configure SpagoBI. 3. Login to SpagoBI and describe the various components. CONTENTS Business Intelligence with SpagoBI  Introduction to Business Intelligence.  Introduction to SpagoBI.  Configuring SpagoBI.  SpagoBI components. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 7 Business Intelligence. The world today generates terabytes of data from many sources. Millions of tweets, facebook updates and emails are sent each day. Millions of transactions occur in the financial sector every hour. How do we make use of this vast amount of data to be of benefit to the business? How do you present the information to the management in an easy to use format? For decades, many IT managers have relied on the big software corporations to provide them with the business intelligence software that can help with the task of generating and presenting the required reports. Fast forward to this last decade, it is not only the big businesses that generate vast amounts of data. A web startup might require a business intelligence software to make sense of customers that visit the web site. Traditional business intelligence software does not come cheap and before the advent of the open source software, it was almost impossible for businesses with small budgets to afford business intelligence software. Thankfully, the open source community has produced wonderful business intelligence software which is easy to use and ready for production. SpagoBI is business intelligence software from Italy which is licensed using the GNU GPL and supports all the fields of business intelligence such as OLAP, dash boards, reports and charts. According to the online encyclopedia Wikipedia, Business Intelligence refers to computer-based techniques used in identifying, extracting and analyzing business data, such as sales revenue by products and/or departments, or by associated costs and incomes. Business Intelligence technologies provide historical, current and predictive views of business operations. Common functions of business intelligence technologies are reporting, online analytical processing, analytics, data mining, process mining, complex event processing, business performance management, benchmarking, text mining and predictive analytics. Business Intelligence systems are very important for decision making and sometimes they are referred to as decision support system. To put this in perspective, assume you are the CEO of a large bank. Which kind of information would you like to know about your bank at any given time? You might want to know how many account holders are in a certain age group, for example so as to make a decision on which products best suits them or you may want to know how much you spend to acquire a customer. Naturally, you always want to know what your competitor is doing. This is in a branch of Business Intelligence called Competitive Intelligence. Introduction to SpagoBI SpagoBi is an open source business intelligence suite. It consists of several engines and analytical areas. The engines includes SpagoBIBirtReportEngine, SpagoBIJPivotEngine and SpagoBIHighChartsEngine. In total there are around 21 engines and the complete list can be found at http://www.spagoworld.org/xwiki/bin/view/SpagoBI/AnalyticalEngines. We will concentrate on Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 8 reporting using the SpagoBIBirtReportEngine, OLAP using the SpagoBIJPivotEngine and Charts using the SpagoBIHighChartsEngine. Downloading SpagoBI and installing SpagoBI. Download SpagoBI at the URL http://forge.ow2.org/project/showfiles.php?group_id=204. There are two components that we will need for this course: 1. SpagoBI Server - This is the actual business intelligence platform that offers all the core and analytical functionalities. It is also where we will be hosting all reports created using BIRT. Click on All-In-One-SpagoBI-3.3-01242012.zip to download the SpagoBI Server as illustrated below. 2. SpagoBI Studio - We will need the SpagoBI studio to create BIRT reports. BIRT is an eclipse based business intelligence and reporting tool and the acronyms stand for Business Intelligence and Reporting Tools. Download SpagoBI Studio by clicking on SpagoBIStudio_3.3_win_20120120.zip as illustrated below. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 9 In addition to the two pieces of software above, you will need to install java development kit and ensure that the java bin directory is in your computers PATH variable. Configuring SpagoBI. I downloaded and kept my all my software on the folder C:\BI so the full path to my SpagoBI server is C:\BI\All-In-One-SpagoBI-3.0-apache-tomcat-6.0.18-06212011. As you can see from the path above, I am using version 3.0 but you should download the latest version if it is available. Navigate to C:\BI\All-In-One-SpagoBI-3.0-apache-tomcat-6.0.18-06212011\apache-tomcat-6.0.18\bin and double click on the file startup.bat to start SpagoBI server. This takes relatively longer to start on windows as opposed to linux. From the startup output, we can see that SpagoBI uses the tomcat server as a default and therefore you can easily change the IP address of the server and the port from the tomcat configuration file in the location C:\BI\All-In-One-SpagoBI-3.0-apache-tomcat-6.0.18-06212011\apache-tomcat- 6.0.18\conf\server.xml Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 10 Note: You might get the error “SEVERE: Catalina.start LifecycleException: Protocol handler initialization failed: java.net.BindExcept ion: Address already in use: JVM_Bind:8080” if the port is already used by another server. Once the server is up, navigate to the URL http://localhost:8080/SpagoBI and login using the user biadmin and password biadmin. Note: By default, there are various other users e.g bitest, bimodel, bidev, biuser with password being the same as the username but we will ignore these other users at this point. Now that we have logged in into SpagoBI, we can test a few objects that come embedded with SpagoBI before we start creating our own. Steps: 1. Login to SpagoBI as user biadmin and password biadmin. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 11 2. Navigate to Root -> Examples -> Report_BIRT and click on Report with image. Below image shows how a BIRT report looks like. We will be creating BIRT reports in this book. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 12 3. Navigate to Root -> Examples -> OLAP_Jpivot_Mondrian and click on Simple OLAP. Olap allows you to view data in various dimensions like in the example above, you can view information drinks in so many ways by just collapsing the product and Region as shown below. We will learn how to create our own OLAP objects using a step by step example in this book. We can see that there were 55 units of Washington Diet Cola ordered in Mexico Central. This allows you to view a very large amount of information easily by slicing and dicing! Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 13 4. Navigate to Root -> Examples -> Charts – Highcharts. The High charts engine is one of the best chart engine available. The charts are very informative and beautiful to look at. Click on any chart to see for yourself. We will be learning how to use this wonderful engine in this book. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 14 Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 15 LESSON TWO OLAP with JPIVOT OBJECTIVES After completing this chapter, you should be able to: 1. Describe the importance of OLAP to your business. 2. Use JPIVOT. 3. Use Mondrian cubes. CONTENTS OLAP with JPIVOT.  Introduction to Online Analytical Processing (OLAP)  OLAP cubes.  Star and Mondrian Schema.  Step by step example. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 16 Online Analytical Processing Online Analytical Processing (OLAP) enables one to analyze different dimensions of multidimensional data. It enables one to analyze data from different perspectives. Consider sales data as an example. One might be interested in analyzing sales data in terms of the date when the sale occurred, the region the sales occurred, the store the sales occurred . The sales amount we are analyzing is called a measure. The way we analyze the measure (sales amount) is called a dimension. Therefore the sales date is one dimension of looking at the sales; the store where the sales occurred is another dimension of looking at the sales. We can therefore look at the sales data by date, by store e.t.c We would like to demonstrate this in Spago BI using simple data with one dimension and several measures. Below is the problem description: Shemma Global is a Business intelligence company that specializes in data mining and analysis. They would like to view the memory usage of one of their servers by event time. Olap 1: Server uptime data. From the diagram olap 1 above, we are only interested in two columns, the event_date and used_memory. The event_date is our dimension (how we would like to view the data) and the used_memory is the data we would like to view (measure). This kind of table is called a fact table. Normally dimension data like date, sales region e.tc are not stored in a fact table but in a dimension table. A foreign key is then included in the fact table to link the two . Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 17 Consider a telecommunication company as an example. We would make the fact table the central table in our schema surrounded by dimension tables. Below is an example. Olap 2: Star Schema In the above example, it is easy to answer questions like how many mobile phone subscribers were activated in the last quarter or how many subscribers are post paid or prepaid. The above schema is called a star schema. We would build a single fact table (Table 1) and link it to the dimension tables using foreign keys. For the purpose of this demonstration, we will keep the measure and dimension in a single fact table. Table 2: Dimension Table (Time) Year Quarter Month Table 1: The fact table Activations. Deletions. Churn. Consumed Airtime. Table 3: Dimension Table (Customer) Region. Age. Table 4: Dimension Table (Product) Prepaid. Post Paid. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 18 OLAP Cube. An OLAP cube is a collection of measures (facts) and dimensions. In the telecommunication example above, we can create a cube which can answer questions like how many subscribers were activated on a certain year, certain quarter or certain month, or how much airtime was consumed by customers from Nairobi region or how many subscribers are in pre-paid. Your first Jpivot document in Spago BI. To create a cube in Spago BI, we will be using the SpagoBI JPivotEngine which comes embedded with your Spago BI server. The cube will be created using xml schema files. This will be a simple cube based on data from the diagram Olap 1 which shows the average amount of used memory by day. The average used memory here is the measure or fact while the day is the dimension. So our cube only has one dimension, the average amount of memory used on any given day. The resulting xml schema looks like the one below: Prepare the database. The data for this assignment is in the table dbuptime. The view which the cube will be based on is v_dbuptime. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 19 Olap 3: Mondrian Schema Once you have created the schema, you need to tell SpagoBi server where the schema file exists. Navigate to the root directory of your SpagoBI installation, in my case C:\BI\All-In-One-SpagoBI-3.0- apache-tomcat-6.0.18-06212011. We will call this the $SPAGO_ROOT directory. Inside $SPAGO_ROOT, navigate to resources\Olap folder. Save your Mondrian schema here. Give it a name like AverageMemoryUsage.xml. Your folder will now appear as shown below. Olap 4: Saving the Schema file. Next, you have to add to the engine-config.xml file the schema you just created. Navigate to $SPAGO_ROOT\apache-tomcat-6.0.18\webapps\SpagoBIJPivotEngine\WEB-INF\classes folder. Inside there, you will find the file engine-config.xml. Open it using your favorite text editor and add the following lines. The line should be added between the …. tags. You have to restart your SpagoBI server for the changes to take effect. Once the server have been restarted, login to the url http://servername:8080/SpagoBI and login using the username biadmin and password biadmin. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 20 Navigate to Resources-> Data source. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 21 On the extreme right, click on insert button to create a new data source. Once done, save the Data Source. We will be using this data source for the remainder of the book. Now we will create a folder where all our OLAP documents will be stored. Click on Analytical Model -> Functionalities Management. Click on Functionalities then Insert. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 22 We will create a folder called OLAP as shown below. Under roles, select everything for /spagobi/admin (/spagobi/admin). Finally we will create the OLAP document itself. Click on Analytical Model -> Documents Development. Click on Insert button. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 23 Under Show document templates click on OLAP Documents. Click on Save. Click on Template build. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 24 Select AverageMemoryUsage under Select schema. Under cube, select S MemoryUsage. Now let us drill down and see the average memory usage for any day of the week. Click on the + next to All Types. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 25 Prepare the database. The data for this assignment is in the table storesales. The view which the cube will be based on is v_storesales. And there you have it, your very first OLAP document. You can see that the average memory usage for Saturday was 14,109. Store Sales example. Problem definition: Shemma Global has offices in Nairobi, Kisumu, Mombasa and Kitale. The sales department would like to view the total sales for any store by year, quarter, month and day. Our measure is sales and we have a time dimension here with multiple hierarchies: year, quarter, month and day. Create a JPivot OLAP cube with SpagoBI to achive this. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 26 1. Build the Mondrian Schema 2. Save the file as ShemmaStoreSales.xml in the $SPAGO_ROOT\apache-tomcat- 6.0.18\resources\Olap folder. 3. Next, you have to add to the engine-config.xml file the schema you just created. Navigate to $SPAGO_ROOT\apache-tomcat-6.0.18\webapps\SpagoBIJPivotEngine\WEB-INF\classes folder. Inside there, you will find the file engine-config.xml. Open it using your favorite text editor and add the following lines. 4. Restart the SpagoBI server. 5. Navigate to http://servername:8080/SpagoBI and login as biadmin.
Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 27 6. Click on Analytical Model -> Documents Development. 7. Click on Insert and create a document similar to the one below. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 28 8. Select OLAP Documents and click on Save. 9. Select “Generate New Template”. 10. Under Schema Select “ShemmaStoreSales” 11. Under Cube select “Store Sales” 12. Save the template and run the document. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 29 13. Now let us compare Sales for Quarter 4 for Nairobi in 2011 against Sales for Quarter 4 for 2010. 14. Now let us compare sales between quarter 3 and 4 of 2011 for all stores. 15. Click on Measures, select all stores and click on Ok. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 30 16. Click on Ok once again. 17. You will now be able to compare sales for any duration with any other duration for all the stores. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 31 We will now add total sales to our example above. Modify the Mondrian schema above to include the following lines. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 32 We have the total sales now, how can we move it to the last column? References and further reading: 1. http://jpivot.sourceforge.net/ 2. http://wiki.spagobi.org/xwiki/bin/view/spagobi_server/JPivot 3. http://mondrian.pentaho.com/documentation/schema.php Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 33 LESSON THREE Highchart Dashboards OBJECTIVES After completing this chapter, you should be able to: 1. Describe the importance of Dashboards to your business. 2. Use High Charts. CONTENTS Dash Boards.  Business Intelligence Dashboards.  Building Dashboards using High charts. Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 34 Business Intelligence dashboards Every car comes with a dash board which has several gauges that alerts the driver when an important event have occurred. It might be that the car is running low on fuel or the engine oil is getting low. It might be also that the battery is nor charging or you are driving with handbrake on! An automobile dashboard need to be easy to understand and should not take time to read, remember you are driving. A good dashboard should be easy to understand and should portray relevant information. The business community copied this dashboard idea from the automobile industry. Business dashboards show at a glance the state of the business at any given time. As an example, a chart might show a comparison between sales between current quarter and the last quarter. If all sales for previous quarters are greater than current quarter, then something is definitely wrong. Since a dashboard should be easy to read, normally only summaries are shown in dashboards. Dashboards also show trends and comparisons. We will create our first dashboard to compare sales between current year against sales for previous year. The dashboard will be built using the highcharts library. First, we will write the Sql that will help us get the sales comparisons between current year and previous year for the Nairobi store. Here is the result of the query: Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 35 And here is the query: You can find the query under the dashboard folder in the CD that came with this book. It is called dash1.txt. In case you bought a softcopy of the book, then you can download the mysql dump and other files needed from http://shemma-global.com/spago.zip or write to the author at xogutu@gmail.com to email you a copy. Now that we have the query, we will create the xml template that will be used by highcharts. We have included the xml below, it can be found under the dashboard folder in the CD that came with this book. The xml file is called sales_comparison.xml. select * from (select curr.curr_month_fig,prev.prev_month_fig,prev.previous_year,curr.current_year,prev.sales_previous_ye ar,curr.sales_current_year,prev.previous_month,curr.current_month from (select month(salesdate) prev_month_fig,sum(nairobi) sales_previous_year,DATE_FORMAT(salesdate, '%Y') previous_year,DATE_FORMAT(salesdate, '%M') previous_month from bidb.storesales where DATE_FORMAT(salesdate, '%Y')=DATE_FORMAT(now(), '%Y')-2 group by DATE_FORMAT(salesdate, '%M'),month(salesdate)) prev, (select month(salesdate) as curr_month_fig,sum(nairobi) sales_current_year,DATE_FORMAT(salesdate, '%Y') current_year,DATE_FORMAT(salesdate, '%M') current_month from bidb.storesales where DATE_FORMAT(salesdate, '%Y')=DATE_FORMAT(now(), '%Y')-1 group by DATE_FORMAT(salesdate, '%M'),month(salesdate)) curr where prev.previous_month=curr.current_month) sales_comparison order by curr_month_fig asc Learn SpagoBI in two hours. Master your business reporting with SpagoBI. Stephen Ogutu Learn SpagoBI in two hours | 36 <SUBTITLE text='Detail for 2011, 2010' /> <X_AXIS alias='current_month' /> <Y_AXIS_LIST> <Y_AXIS alias='sales_previous_year' opposite='true'> <LABELS> <STYLE color='#89A54E' /> </LABELS> <TITLE text='Sales Previous Year (2010)'> <STYLE color='#89A54E' />