(仅限 Flex 数据可视化组件)
mx.olap
public class OLAPCube
继承OLAPCube Inheritance Proxy Inheritance Object
实现 IOLAPCube, IEventDispatcher

OLAPCube 类表示 OLAP 多维数据集。

MXML 语法expanded隐藏 MXML 语法

The <mx:OLAPCube> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:OLAPCube
    Properties
    dataProvider=""
    dimensions=""
    elements=""
    measures=""
  />
 
  

默认 MXML 属性elements

另请参见

mx.olap.IOLAPCube
Creating OLAP queries
Creating OLAP queries
Creating OLAP queries
Writing a query for a simple OLAP cube
Writing a query for a complex OLAP cube
Creating a multidimensional axis in an OLAPDataGrid control


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  dataProvider : ICollectionView
用于填充 OLAP 多维数据集的平面数据。
OLAPCube
  dimensions : IList
多维数据集中的所有维度,作为 IOLAPDimension 实例列表。
OLAPCube
  elements : Array
[只写] 处理输入数组,并根据该数组的元素初始化维度和测量属性。
OLAPCube
  measures : IList
[只写] 设置 OLAP 多维数据集的测量,作为 OLAPMeasure 实例列表。
OLAPCube
  name : String
OLAP 多维数据集的名称。
OLAPCube
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
受保护的属性
 属性定义方
  cubeBuildingTimeInterval : int = 5
refresh() 方法的计时器用于以迭代方式生成多维数据集的时间间隔(以毫秒为单位)。
OLAPCube
  measureDimensionName : String = "Measures"
设置该 OLAP 多维数据集测量的维度名称。
OLAPCube
  queryBuildingTimeInterval : int = 1
execute() 方法的计时器用于迭代处理查询的时间间隔(以毫秒计/以毫秒为单位)。
OLAPCube
  resultClass : Class
OLAPCube 实例用于返回结果的类。
OLAPCube
  workDuration : int = 50
refresh() 方法用于以迭代方式生成多维数据集的时间(以毫秒为单位)。
OLAPCube
公共方法
 方法定义方
  
OLAPCube(name:String = null)
构造函数。
OLAPCube
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
OLAPCube
  
中止已为执行提交的查询。
OLAPCube
  
如果正在执行一个多维数据集,则中止当前多维数据集的刷新。
OLAPCube
  
将事件调度到事件流中。
OLAPCube
  
排队要执行的 OLAP 查询。
OLAPCube
  
返回 OLAP 多维数据集中具有给定名称的维度。
OLAPCube
  
检查 对象是否为特定事件类型注册了任何侦听器。
OLAPCube
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
  
刷新数据提供者的多维数据集。
OLAPCube
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
删除侦听器。
OLAPCube
 Inherited
设置循环操作动态属性的可用性。
Object
  
返回多维数据集的名称
OLAPCube
 Inherited
返回指定对象的原始值。
Object
  
检查是否用此 对象或其任何始祖为指定事件类型注册了事件侦听器。
OLAPCube
事件
 事件 摘要 定义方
  已创建多维数据集并为查询准备就绪时调度。OLAPCube
  通过调用 refresh() 方法创建多维数据集时持续调度。OLAPCube
  通过调用 execute() 方法生成查询结果时持续调度。OLAPCube
属性详细信息
cubeBuildingTimeInterval属性
protected var cubeBuildingTimeInterval:int = 5

refresh() 方法的计时器用于以迭代方式生成多维数据集的时间间隔(以毫秒为单位)。如果您会在生成多维数据集前等待较长的时间,就可以将其设置为较高的值。可以将其设置为较低的值,但是这可能对应用程序的响应能力有负面影响。

dataProvider属性 
dataProvider:ICollectionView  [读写]

用于填充 OLAP 多维数据集的平面数据。设置此属性后,必须调用 refresh() 方法来初始化多维数据集。



实现
    public function get dataProvider():ICollectionView
    public function set dataProvider(value:ICollectionView):void
dimensions属性 
dimensions:IList  [读写]

多维数据集中的所有维度,作为 IOLAPDimension 实例列表。



实现
    public function get dimensions():IList
    public function set dimensions(value:IList):void
elements属性 
elements:Array  [只写]

处理输入数组,并根据该数组的元素初始化 dimensionsmeasures 属性。在数组中维度是由 OLAPDimension 类的实例提供的,测量则是由 OLAPMeasure 类的实例提供的。

使用此属性定义单个数组中多维数据集的维度和测量。



实现
    public function set elements(value:Array):void
measureDimensionName属性 
protected var measureDimensionName:String = "Measures"

设置该 OLAP 多维数据集测量的维度名称。

默认值为 "Measures".

measures属性 
measures:IList  [只写]

设置 OLAP 多维数据集的测量,作为 OLAPMeasure 实例列表。



实现
    public function set measures(value:IList):void
name属性 
name:String  [读写]

OLAP 多维数据集的名称。



实现
    public function get name():String
    public function set name(value:String):void
queryBuildingTimeInterval属性 
protected var queryBuildingTimeInterval:int = 1

execute() 方法的计时器用于迭代处理查询的时间间隔。如果您会在多维数据集生成查询结果前等待较长的时间,就可以将其设置为较高的值。为了更快地获得查询结果,可以将其设置为较低的值,但是这可能对应用程序的响应能力有负面影响。

resultClass属性 
protected var resultClass:Class

OLAPCube 实例用于返回结果的类。可以使用您自己的 IOLAPResult 接口的实现来替换默认类 OLAPResult,以便自定义结果。

默认值为 OLAPResult.

workDuration属性 
protected var workDuration:int = 50

refresh() 方法用于以迭代方式生成多维数据集的时间(以毫秒为单位)。值越高,说明每个计时器事件中得到处理的行就越多。如果希望更快地生成多维数据集,可以将其设置为一个较高的值,但这样对应用程序的响应速度可能会有负面影响。

构造函数详细信息
OLAPCube()构造函数
public function OLAPCube(name:String = null)

构造函数。

参数
name:String (default = null) — OLAP 多维数据集的名称。
方法详细信息
addEventListener()方法
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。

参数

type:String — 事件的类型。
 
listener:Function — 处理事件的侦听器函数。
 
useCapture:Boolean (default = false) — 确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。
 
priority:int (default = 0) — 事件侦听器的优先级。
 
useWeakReference:Boolean (default = false) — 确定对侦听器的引用是强引用,还是弱引用。强引用(默认值)可防止您的侦听器被当作垃圾回收。弱引用则没有此作用。

另请参见

cancelQuery()方法 
public function cancelQuery(query:IOLAPQuery):void

中止已为执行提交的查询。

参数

query:IOLAPQuery — 要中止的查询。

cancelRefresh()方法 
public function cancelRefresh():void

如果正在执行一个多维数据集,则中止当前多维数据集的刷新。

dispatchEvent()方法 
public function dispatchEvent(event:Event):Boolean

将事件调度到事件流中。事件目标是对其调用 dispatchEvent() 方法的 对象。

参数

event:Event — 调度到事件流中的 Event 对象。

返回
Boolean — 如果成功调度了事件,则值为 true。值 false 表示失败或对事件调用了 preventDefault() 方法。

另请参见

execute()方法 
public function execute(query:IOLAPQuery):AsyncToken

排队要执行的 OLAP 查询。调用 refresh() 方法来更新多维数据集后,您必须等待 complete 事件,然后才能调用 execute() 方法。

OLAP 多维数据集可能很复杂,因此您不希望在 Flex 计算 OLAP 查询结果时暂停应用程序。execute() 方法会返回 AsyncToken 类的实例,这样您就可以设置异步操作的处理函数,从而在查询处理期间不间断应用程序的执行。

使用 AsyncToken 类时,您可以设置两个函数来处理查询结果。在该例中,showResult() 函数会在查询成功完成后处理查询结果,showFault() 函数会处理查询执行期间检测到的任何错误:

<mx:Script>
              
              // Function to execute a query.
              private function runQuery(cube:IOLAPCube):void {
                  // Create a query instance.
                  var query:IOLAPQuery = getQuery(cube);
                  // Execute the query.
                  var token:AsyncToken = cube.execute(query);
                  // Set up handlers for the query results.
                  token.addResponder(new AsyncResponder(showResult, showFault));
              }
              
              // Handle a query fault.
              private function showFault(result:Object, token:Object):void {
                  Alert.show("Error in query.");
              }
      
              // Handle a query success.
              private function showResult(result:Object, token:Object):void {
                  if (!result) {
                      Alert.show("No results from query.");
                      return;
                  }
      
                  myOLAPDG.dataProvider= result as OLAPResult;            
              }        
      </mx:Script>
      
      <mx:OLAPDataGrid id="myOLAPDG" width="100%" height="100%" />

参数

query:IOLAPQuery — 要执行的查询,由 IOLAPQuery 实例表示。

返回
AsyncToken — AsyncToken 实例。
findDimension()方法 
public function findDimension(name:String):IOLAPDimension

返回 OLAP 多维数据集中具有给定名称的维度。

参数

name:String — 维度的名称。

返回
IOLAPDimension — IOLAPDimension 实例,用于表示维度,或者如果未找到维度则为 null。
hasEventListener()方法 
public function hasEventListener(type:String):Boolean

检查 对象是否为特定事件类型注册了任何侦听器。这样,您就可以确定对象在事件流层次结构中的哪个位置改变了对事件类型的处理。

参数

type:String — 事件的类型。

返回
Boolean — 如果指定类型的侦听器已注册,则值为 true;否则,值为 false

另请参见

refresh()方法 
public function refresh():void

刷新数据提供者的多维数据集。设置多维数据集的架构后,您必须调用此方法来生成多维数据集。

此方法会调度 progress 事件来显示进度,当多维数据集完成并准备执行查询时调度 complete 事件。您必须等待 complete 事件,然后才能调用 execute() 方法来运行查询。

removeEventListener()方法 
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

删除侦听器。如果没有注册任何匹配的侦听器,则对此方法的调用不起任何作用。

参数

type:String — 事件的类型。
 
listener:Function — 要删除的侦听器对象。
 
useCapture:Boolean (default = false) — 指出是否为捕获阶段或目标阶段和冒泡阶段注册了侦听器。

另请参见

toString()方法 
public function toString():String

返回多维数据集的名称

返回
String — 多维数据集的名称。
willTrigger()方法 
public function willTrigger(type:String):Boolean

检查是否用此 对象或其任何始祖为指定事件类型注册了事件侦听器。将指定类型的事件调度给此对象或其任一后代时,如果在事件流的任何阶段触发了事件侦听器,则此方法返回 true

参数

type:String — 事件的类型。

返回
Boolean — 如果已触发指定类型的侦听器,则会显示值 true,否则显示值 false

另请参见

事件详细信息
complete 事件
事件对象类型: mx.events.CubeEvent
属性 CubeEvent.type = mx.events.CubeEvent.CUBE_COMPLETE

已创建多维数据集并为查询准备就绪时调度。

CubeEvent.CUBE_COMPLETE 常数可为 complete 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable true
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
description 对正在处理的内容的描述。
progress 多维数据集中已更新的元素数。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
total 多维数据集中需要更新的元素总数。
type CubeEvent.CUBE_COMPLETE
progress 事件  
事件对象类型: mx.events.CubeEvent
属性 CubeEvent.type = mx.events.CubeEvent.CUBE_PROGRESS

通过调用 refresh() 方法创建多维数据集时持续调度。

CubeEvent.CUBE_PROGRESS 常数可为 progress 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable true
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
description 对正在处理的内容的描述。
progress 多维数据集中已更新的元素数。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
total 多维数据集中需要更新的元素总数。
type CubeEvent.CUBE_PROGRESS
queryProgress 事件  
事件对象类型: mx.events.CubeEvent
属性 CubeEvent.type = mx.events.CubeEvent.QUERY_PROGRESS

通过调用 execute() 方法生成查询结果时持续调度。

CubeEvent.QUERY_PROGRESS 常数可为 queryProgress 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable true
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
description 对正在处理的内容的描述。
progress 多维数据集中已更新的元素数。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
total 多维数据集中需要更新的元素总数。
type CubeEvent.QUERY_PROGRESS