SpagoBI Lesson 3: Highchart Dashboards

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:

image0011
image0031

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 are reading this at spagolabs blog, then you can get the mysql dump and other files needed for this tutorial by writing the author at the email xogutu at gmail dot com for a small fee.

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.

<HIGHCHART width=’80%’ height=’80%’>

<CHART zoomType=’xy’ />

<TITLE text=’Nairobi sales comparison, current year vs previous year.’ />

<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’ />

</TITLE>

</Y_AXIS>

<Y_AXIS alias=’sales_current_year’ gridLineWidth=’0′>

<LABELS>

<STYLE color=’#4572A7′ />

</LABELS>

<TITLE text=’Sales Current Year (2011)’>

<STYLE color=’#4572A7′ />

</TITLE>

</Y_AXIS>

</Y_AXIS_LIST>

<LEGEND layout=’vertical’

align=’left’

verticalAlign=’top’

x=’120′

y=’40′

floating=’true’

borderWidth=’1′

backgroundColor=’#FFFFFF’

shadow=’true’/>

<SERIES_LIST allowPointSelect=’true’>

<SERIES name=’Sales Previous Year (2010)’ color=’#89A54E’ type=’spline’ alias=’sales_previous_year’ />

<SERIES name=’Sales Current Year (2011)’ color=’#4572A7′ type=’spline’ alias=’sales_current_year’ dashstyle=’shortdot’>

</SERIES>

</SERIES_LIST>

</HIGHCHART>

Now login to SpagoBI as the biadmin user and follow these steps to create the dash board.

1. Create a folder in SpagoBI, call it Dash Boards.

2. Click on Resources -> dataset.

3. Click on the add button.

4. On the Label, write “SalesComparisonNairobi”

5. On Name, write “SalesComparisonNairobi”

6. On Description, write “Sales comparison for Nairobi store between between current year and previous year.”

7. You should have the following once you are done.

8. Click on the Type TAB.

9. Under DataSet Type, select Query.

10. Under data source select “Sapgo BI Mysql Training”. Remember we had created this datasource previously.

11. Under Query, Paste the query in the file dash.txt on the folder dashboard.

12. You should have this once you are done.

13. Click on preview button. You should have the output shown below.

14. Save the data set.

15. Click on Analytical Model -> Documents Development.

16. Click on Insert. Add create the document as shown below.

17. Click on browse and select the sales_comparison.xml file we created previously. The file can be found on the CD that came with this book under dashboard folder.

18. Under documents template, select “Dash Boards” and click Save.

19. Click on “Home Page”

20. Navigate to “Dash Boards” folder. Click on “Sales Comparison” document to run it.

You should have your first chart!

Now let us look at sales_comparison.xml file to better understand it.

A. Chart Size.

The first element must be HIGHCHART. You can also specify the size of the chart in this element.

<HIGHCHART width=’80%’ height=‘80 %’>

B. TITLE and SUBTITLE.

The TITLEand SUBTITLE elements are the title and subtitle of the charts.

<TITLE text=’Nairobi sales comparison, current year vs previous year.’ />

<SUBTITLE text=’Detail for 2011, 2010′ />

C. The X_AXIS element.

The element <X_AXIS alias=’current_month’ /> is the label of the X axis. In Spago Bi, this can come from a column in your data set query.

In our chart, the labels come from the database column current_month from the dataset SalesComparisonNairobi we created previously.

The contents of current_ month column in the data set SalesComparisonNairobi through the xml element <X_AXIS alias=’current_month’ /> is used to label the x axis with January up to December on our chart.

D.

Y_AXIS_LIST Element.

The <Y_AXIS_LIST> element defines the items that appear on the Y axis. Normally they come from database tables or views through the SpagoBi data set. For example, in the block of xml code below:

1. Alias element.
alias=’sales_previous_year’ – This defines which column in the dataset query the data comes from.

opposite=’true’ – When opposite is true, the label will appear on the right. When false it appears on the left.

As an example, if we say opposite is false as shown below,

The Y axis elements will be on the left.

Change it to opposite=true and the Y axis items will appear on right.

gridLineWidth=’1′ – Use 0 if you do not need a grid line.

2. The <TITLE text=’Sales Current Year (2011)’> element.

This element is used to set the labels of the items on the Y axis.

E. The LEGEND element determines the position, color and other properties of the legend.

The above block of code produces the legend below.

F.

The SERIES_LIST element is the main contents of the chart. It can be line or column.

Since our chart has two lines, it therefore will have two series. The contents of the series come from a table column through the Spago BI dataset. For example, the dottet series (Sales for 2011) comes from the column sales_current_year and the element dashstyle=’shortdot’ makes it dotted. The element type=’spline’ means a line chart, if we change it to type=’column’ , we will end up with a bar graph as shown:

SpagoBI 教程 Lesson 3: Highchart Dashboards的更多相关文章

  1. SpagoBI 教程 Lesson 2: OLAP with JPIVOT

    SpagoBI Lesson 2: OLAP with JPIVOT Online Analytical Processing Online Analytical Processing (OLAP) ...

  2. SpagoBI 教程 Lesson 5: Creating a dashboard with BIRT and SpagoBI

    SpagoBI Lesson 5: Creating a dashboard with BIRT and SpagoBI Creating a dashboard with BIRT and Spag ...

  3. SpagoBI 教程 Lesson 4: BIRT Reports

    SpagoBI Lesson 4: BIRT Reports BIRT BIRT is the acronym for Business Intelligence and Reporting Tool ...

  4. SpagoBI 教程 Lesson 1:Introduction and Installation

    SapgoBI Lesson 1: Introduction and Installation Downloading and installing SpagoBI. Download SpagoBI ...

  5. 教程:SpagoBI开源商业智能之XML Template 图表模板

    SpagoBI offers a variety of widgets' examples realized with the Highcharts library, that can be divi ...

  6. 教程:Spagobi开源BI系统 Console报表设计教程

    Console Designer 1 Console Designer Console Designer 1.1 Introduction 1.2 Dataset Tab 1.3 Summary Pa ...

  7. Lazy的SDL教程 翻译----Lesson 22 Timing

    原文:http://lazyfoo.net/tutorials/SDL/22_timing/index.php Timing 计时 Last Updated 3/10/14 Another impor ...

  8. Highchart基础教程-图表配置

    一.图表容器: Highcharts 实例化中绑定容器的两种方式: 1.通过 dom 调用 highcharts() 函数的方式 $("#container").highchart ...

  9. Highchart基础教程-图表的主要组成

    一.Highchar图表的主要组成 1.图表标题(Title):图表包含标题和副表题(subTitle,可选). 2.坐标轴(Axis):包括x轴(xAxis)和y轴(yAxis).多个数据列可以共同 ...

随机推荐

  1. R语言之——字符串处理函数

    nchar 取字符数量的函数 length与nchar不同,length是取向量的长度 # nchar表示字符串中的字符的个数 nchar("abcd") [1] 4 # leng ...

  2. html5+css3 权威指南阅读笔记(三)---表单及其它新增和改良元素

    一.新增元素及属性 1.表单内元素的form属性. html5: <form id="testForm"> <input type=text> </f ...

  3. centos7配置网桥

    在Centos7上玩KVM的话一定要配置网桥的: [root@localhost nb]# ls /etc/sysconfig/network-scripts ifcfg-8866 ifdown if ...

  4. HTML5学习笔记(四):H5中表单新增元素及改良

    方便布局 表单内容可以放在表单标签之外,这样做的好处是方便设计时不用考虑一定要将表单元素放在指定的form标签之下,只要指定元素适用于哪个表单即可,如下: <form id="test ...

  5. 菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目

    用过Maven的人都知道,Maven项目的目录结构跟传统的DynamicWeb项目有些不同.当然我们按照Maven的规范建项目最好,但是当你恰好没有按照Maven的规范来,又恰好需要使用Maven来打 ...

  6. Debugging the Java HotSpot VM

    Open Heart Surgery: Analyzing and Debugging the Java HotSpot VM at the OS Level https://www.youtube. ...

  7. Java虚拟机(JVM)概述

    JVM(Java虚拟机)是一个抽象的计算模型.就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域.目的是为构建在其上运行的应用程序提供一个运行环境.JVM可以解读指令代码并与底 ...

  8. .NET微信扫码支付模式二API接口开发测试

    主要实现微信扫码支付,官网的SDKdemo 就不要使用 一直不能调试通过的,还是自己按照API接口文档一步一步来实现,吐槽下微信一点责任感都木有,能不能demo搞个正常的吗,不要坑惨了一大群码农们有点 ...

  9. js中实现对checkbox选中和取消

    可以使用 element.attr('checked','checked') 来进行选中.但是不能使用 element.attr('checked','false') 来取消选中. 必须通过以下方式: ...

  10. 【线程】linux之多线程同步互斥技术

      1.同步机制      线程同步机制主要有:互斥量/信号量/条件变量/读写锁等. 2.技术示例 创建2个计数线程A和B,每次计数加1,当为偶数时,A线程计数:当为奇数时,B线程计数.    源码: ...