WEB开发网
开发学院软件开发Java 使用 Flex3 开发 OLAP 应用 阅读

使用 Flex3 开发 OLAP 应用

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示: 然后我们创建 OLAPQuery 来查询,myCube.addEventListener(CubeEvent.CUBE_COMPLETE, runQuery); 在这句话中,使用 Flex3 开发 OLAP 应用(9),用到了 Flex 中常用的回调机制——当 cube

然后我们创建 OLAPQuery 来查询。myCube.addEventListener(CubeEvent.CUBE_COMPLETE, runQuery); 在这句话中,用到了 Flex 中常用的回调机制——当 cube 模型建立完成后,会自动调用 runQuery 方法来执行默认的查询。在 runQuery 方法中,接收 CubeEvent 的 target 作为其 IOLAPCube,然后构建一个 IOLAPQuery 并继而执行之。

在每个 IOLAPQuery 中,均有 ROW_AXIS 与 COLUMN_AXIS 两个维度。并继而对横轴和纵轴分别添加相应的 OLAPSet 信息以填充具体的数据信息。


清单 7. runQuery

 private function runQuery(cubeEvent:CubeEvent):void { 
  // 得到清单 6 创建好的 cube,cubeEvent 通过回调的方式将其返回 
  var cube:IOLAPCube = IOLAPCube(cubeEvent.currentTarget); 
  // 创建查询实例 
  var query:IOLAPQuery = getQuery(cube); 
  // 执行查询 
  var token:AsyncToken = cube.execute(query); 
  // 设置回调函数来处理返回结果及错误信息 
  token.addResponder(new AsyncResponder(showResult, showFault)); 
 } 


清单 8. getQuery

 private function getQuery(cube:IOLAPCube):IOLAPQuery { 
  // 创建 OLAPQuery 实例来表示一次查询 
  var query:OLAPQuery = new OLAPQuery; 
 
  // 得到此查询的横轴 
  var rowQueryAxis:IOLAPQueryAxis = query.getAxis(OLAPQuery.ROW_AXIS); 
  // 创建对应于横轴的 OLAPSet 
  var productSet:OLAPSet = new OLAPSet; 
  // 从 cube 中将关于产品维的聚集数据加入此 OLAPSet 中 
  productSet.addElements( 
    cube.findDimension("Dim1").findAttribute(chartXML.dim1label).children); 
  rowQueryAxis.addSet(productSet); 
 
  // 得到此查询的纵轴 
  var colQueryAxis:IOLAPQueryAxis = query.getAxis(OLAPQuery.COLUMN_AXIS); 
  // 创建对应于纵轴的 OLAPSet 
  var quarterSet:OLAPSet= new OLAPSet; 
  // 从 cube 中将关于时间维的聚集数据加入此 OLAPSet 中 
  quarterSet.addElements( 
    cube.findDimension("Dim2").findAttribute(chartXML.dim2label).children); 
  colQueryAxis.addSet(quarterSet); 
 
  return query; 
 } 

上一页  4 5 6 7 8 9 10  下一页

Tags:使用 Flex 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接