首页 / 软件开发 / Flex / 使用Flex3开发OLAP应用
使用Flex3开发OLAP应用2011-01-05 IBM 黄巍概要联机分析处理(Online Analytical Processing,下文简称 OLAP)是一种共享多维信息、针对特定问题的联机数据访问和分析的快速软件技术。OLAP 专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理。本文将介绍如果利用 Flex 技术将这些复杂的查询处理结果美观,便捷地展现出来。软件环境要求Flash Player 9 或更高版本Adobe Flex SDK 3.0 或更高版本Adobe Flex SDK Builder 3 或更高版本Flex 中的分析组件在传统的 OLAP 分析组件开发中,各商业智能公司均有自己的一套产品实现,从设计和使用上均不具有开放性。而在 Flex SDK 中,原生地提供了众多分析组件,如饼图,柱状图等各种图表控件,并于 Flex3 中加入了 OLAPDataGrid,这使得基于 Flex 开发 OLAP 应用更加便捷。另外,由于 Flex 类库的良好扩展性,使得定制化的开发成为可能,进而满足 OLAP 分析中种类繁多的用户需求。图表控件的使用使用 Flex 中的组件通常有两种方式,一种是直接在 .mxml 文件的类 xml 标签中通过属性来指定这个组件的展现方式,这是最直观的方式。而另一种则将显示与逻辑分离,在 .mxml 文件中只是声明了将使用的组件,而具体的获得数据过程与数据展现过程则在相对应的 .as (actionscript) 中用编程的方式实现。本文将采用第二种方式进行描述:首先新建一个 OLAPAppInFlex 的 Flex application。接着用 ViewStack 组件将我们所要展示的三种图表控件粘合在一起,通过点击 ViewStack 的 tab 页来查看不同的展示效果。清单 1. OLAPAppInFlex.mxml<mx:Script source="include/Chart.as" />
……
<mx:ViewStack id="viewStack" width="100%" height="75%" creationComplete="showData()">
<mx:HBox id="columnBox" name="ColumnChart" width="100%">
<mx:ColumnChart id="columnChart" showDataTips="true" width="100%" height="100%"/>
<mx:Panel id="columnLegendPanel" horizontalScrollPolicy="off">
<mx:Box maxHeight="250" horizontalScrollPolicy="off">
<mx:Legend id="columnLegend" width="100%" />
</mx:Box>
</mx:Panel>
</mx:HBox>
<mx:HBox id="pieBox" name="PieChart" width="100%">
</mx:HBox>
<mx:HBox id="lineBox" name="LineChart" width="100%">
<mx:LineChart id="lineChart" showDataTips="true" width="100%" height="100%" />
<mx:Panel id="lineLegendPanel" horizontalScrollPolicy="off">
<mx:Box maxHeight="250" horizontalScrollPolicy="off">
<mx:Legend id="lineLegend" width="100%" />
</mx:Box>
</mx:Panel>
</mx:HBox>
</mx:ViewStack>
在上述代码中第一行引入了 Chart.as,并在此文件中实现了图形的展现逻辑。而在介绍 Chart.as 如何实现图形的展现逻辑前,先介绍两个一般性的问题: