Совершенно не понимаю почему отображается Olap DataGrid пустая, если не трудно кому можете помоч
код такой
<?xml version="1.0" encoding="utf-8"?>
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:flexlib="http://code.google.com/p/flexlib/"
implements = "modules.IAppModule"
creationComplete = "creationCompleteHandler(event);"
width="100%" height="100%"
>
<!--
<fx:Style source="themes/WMP11/wmp11.css"/>
<fx:Style source="themes/obsidian/obsidian.css"/>
<fx:Style source="themes/iTunes/jukebox.css"/>
-->
<fx:Style source="themes/Aeon/AeonGraphical.css"/>
<fx:Script>
<![CDATA[
import ajax.*;
import flexlib.mdi.containers.MDIWindow;
import mx.controls.Alert;
import mx.events.FlexEvent;
import spark.modules.ModuleLoader;
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.olap.OLAPQuery;
import mx.olap.OLAPSet;
import mx.olap.IOLAPQuery;
import mx.olap.IOLAPQueryAxis;
import mx.olap.IOLAPCube;
import mx.olap.OLAPResult;
import mx.events.CubeEvent;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
[Bindable]
private var flatData:ArrayCollection = new ArrayCollection(
[
{customer:"AAA", product:"ColdFusion", quarter:"Q1", revenue:210, cost:25},
{customer:"AAA", product:"Flex", quarter:"Q2", revenue:210, cost:25},
{customer:"AAA", product:"Dreamweaver", quarter:"Q3", revenue:250, cost:125},
{customer:"AAA", product:"Flash", quarter:"Q4", revenue:430, cost:75},
{customer:"BBB", product:"ColdFusion", quarter:"Q2", revenue:125, cost:20},
{customer:"BBB", product:"Flex", quarter:"Q3", revenue:210, cost:20},
{customer:"BBB", product:"Dreamweaver", quarter:"Q4", revenue:320, cost:120},
{customer:"BBB", product:"Flash", quarter:"Q1", revenue:280, cost:70},
{customer:"CCC", product:"ColdFusion", quarter:"Q3", revenue:375, cost:120},
{customer:"CCC", product:"Flex", quarter:"Q4", revenue:430, cost:120},
{customer:"CCC", product:"Dreamweaver", quarter:"Q1", revenue:470, cost:220},
{customer:"CCC", product:"Flash", quarter:"Q2", revenue:570, cost:170},
{customer:"AAA", product:"ColdFusion", quarter:"Q4", revenue:215, cost:90},
{customer:"AAA", product:"Flex", quarter:"Q1", revenue:210, cost:90},
{customer:"AAA", product:"Dreamweaver", quarter:"Q2", revenue:175, cost:190},
{customer:"AAA", product:"Flash", quarter:"Q3", revenue:670, cost:75},
{customer:"BBB", product:"ColdFusion", quarter:"Q1", revenue:175, cost:20},
{customer:"BBB", product:"Flex", quarter:"Q2", revenue:210, cost:20},
{customer:"BBB", product:"Dreamweaver",quarter:"Q3", revenue:120, cost:120},
{customer:"BBB", product:"Flash", quarter:"Q4", revenue:310, cost:70},
{customer:"CCC", product:"ColdFusion", quarter:"Q1", revenue:385, cost:120},
{customer:"CCC", product:"Flex", quarter:"Q2", revenue:340, cost:120},
{customer:"CCC", product:"Dreamweaver", quarter:"Q3", revenue:470, cost:220},
{customer:"CCC", product:"Flash", quarter:"Q4", revenue:270, cost:170},
{customer:"AAA", product:"ColdFusion", quarter:"Q1", revenue:100, cost:25},
{customer:"AAA", product:"Flex", quarter:"Q2", revenue:150, cost:25},
{customer:"AAA", product:"Dreamweaver", quarter:"Q3", revenue:200, cost:125},
{customer:"AAA", product:"Flash", quarter:"Q4", revenue:300, cost:75},
{customer:"BBB", product:"ColdFusion", quarter:"Q2", revenue:175, cost:20},
{customer:"BBB", product:"Flex", quarter:"Q3", revenue:100, cost:20},
{customer:"BBB", product:"Dreamweaver", quarter:"Q4", revenue:270, cost:120},
{customer:"BBB", product:"Flash", quarter:"Q1", revenue:370, cost:70},
{customer:"CCC", product:"ColdFusion", quarter:"Q3", revenue:410, cost:120},
{customer:"CCC", product:"Flex", quarter:"Q4", revenue:300, cost:320},
{customer:"CCC", product:"Dreamweaver", quarter:"Q1", revenue:510, cost:220},
{customer:"CCC", product:"Flash", quarter:"Q2", revenue:620, cost:170},
{customer:"AAA", product:"ColdFusion", quarter:"Q4", revenue:215, cost:90},
{customer:"AAA", product:"Flex", quarter:"Q1", revenue:210, cost:90},
{customer:"AAA", product:"Dreamweaver", quarter:"Q2", revenue:175, cost:190},
{customer:"AAA", product:"Flash", quarter:"Q3", revenue:420, cost:75},
{customer:"BBB", product:"ColdFusion", quarter:"Q1", revenue:240, cost:20},
{customer:"BBB", product:"Flex", quarter:"Q2", revenue:100, cost:20},
{customer:"BBB", product:"Dreamweaver", quarter:"Q3", revenue:270, cost:120},
{customer:"BBB", product:"Flash", quarter:"Q4", revenue:370, cost:70},
{customer:"CCC", product:"ColdFusion", quarter:"Q1", revenue:375, cost:120},
{customer:"CCC", product:"Flex", quarter:"Q2", revenue:420, cost:120},
{customer:"CCC", product:"Dreamweaver", quarter:"Q3", revenue:680, cost:220},
{customer:"CCC", product:"Flash", quarter:"Q4", revenue:570, cost:170}
]);
var winTitle:String = "Список поездов";
var ownerWindow:MDIWindowPattern = null;
var oParams:Object = null;
var oResults:Object = {result:'OK'};
var store:ArrayCollection
public function setParams(params:Object):void{
oParams = params;
if (oParams!=null)
{
}
}
public function getResults():Object{
return oResults;
}
private function creationCompleteHandler(event:FlexEvent):void {
ownerWindow = this.parent.parent as MDIWindowPattern;
ownerWindow.title = winTitle;
dg1.dataProvider=flatData;
}
private function getQuery(cube:IOLAPCube):IOLAPQuery {
var query:OLAPQuery = new OLAPQuery;
var rowQueryAxis:IOLAPQueryAxis =
var productSet:OLAPSet = new OLAPSet;
productSet.addElements(
cube.findDimension("ProductDim").findAttribute("Product").children);
rowQueryAxis.addSet(productSet);
var colQueryAxis:IOLAPQueryAxis =
query.getAxis(OLAPQuery.COLUMN_AXIS);
var quarterSet:OLAPSet= new OLAPSet;
quarterSet.addElements(
cube.findDimension("QuarterDim").findAttribute("Quarter").children);
colQueryAxis.addSet(quarterSet);
return query;
}
private function runQuery(event:CubeEvent):void {
var cube:IOLAPCube = IOLAPCube(event.currentTarget);
var query:IOLAPQuery = getQuery(cube);
var token:AsyncToken = cube.execute(query);
token.addResponder(new AsyncResponder(showResult, showFault));
}
private function showFault(result:Object, token:Object):void {
Alert.show("Error in query.");
}
private function showResult(result:Object, token:Object):void {
if (!result) {
Alert.show("No results from query.");
return;
}
}
]]>
</fx:Script>
<fx

eclarations>
<!-- Разместить невизуальные элементы (например, службы или объекты значений) -->
<!--<fx:String id="userName">{parentApplication.rXML.RIGHTS[0].name_f.text().toString()+' '+parentApplication.rXML.RIGHTS[0].name_i.text().toString()}</fx:String>-->
</fx

eclarations>
<fx

eclarations>
<mx:OLAPCube name="FlatSchemaCube"
dataProvider="{flatData}"
id="dg1"
complete="runQuery(event);">
<mx:OLAPDimension name="CustomerDim">
<mx:OLAPAttribute name="Customer" dataField="customer"/>
<mx:OLAPHierarchy name="CustomerHier" hasAll="true">
<mx:OLAPLevel attributeName="Customer"/>
</mx:OLAPHierarchy>
</mx:OLAPDimension>
<mx:OLAPDimension name="ProductDim">
<mx:OLAPAttribute name="Product" dataField="product"/>
<mx:OLAPHierarchy name="ProductHier" hasAll="true">
<mx:OLAPLevel attributeName="Product"/>
</mx:OLAPHierarchy>
</mx:OLAPDimension>
<mx:OLAPDimension name="QuarterDim">
<mx:OLAPAttribute name="Quarter" dataField="quarter"/>
<mx:OLAPHierarchy name="QuarterHier" hasAll="true">
<mx:OLAPLevel attributeName="Quarter"/>
</mx:OLAPHierarchy>
</mx:OLAPDimension>
<mx:OLAPMeasure name="Revenue"
dataField="revenue"
aggregator="SUM"/>
</mx:OLAPCube>
</fx

eclarations>
<mx:ControlBar height="40" width="100%" bottom="0" minWidth="0">
<mx:Spacer width="100%"/>
<mx:Button label="Редактировать" icon="@Embed(source='img/form_green.png')" click="onEdit();">
<fx:Script>
<![CDATA[
import flexlib.mdi.containers.MDICanvas;
function onEdit():void{
store:store.getItemAt(dg.selectedIndex)});
}
]]>
</fx:Script>
</mx:Button>
<s:Button label="JavaScript" icon="@Embed(source='img/form_green.png')" click = "callWrapper();" >
<fx:Script>
<![CDATA[
import flash.external.*;
public function callWrapper():void {
ExternalInterface.call("eval", "alert('123');alert('321');");
/*
var s:String;
if (ExternalInterface.available) {
var o:Object = new Object();
var wrapperFunction:String = "receiveComplexDataTypes";
s = ExternalInterface.call(wrapperFunction, o);
} else {
s = "dfsgfasgvfsdvsvsv";
} trace(s);
*/
}
]]>
</fx:Script>
</s:Button>
<mx:Button label="Закрыть" icon="@Embed(source='img/error.png')" click="onClose();" >
<fx:Script>
<![CDATA[
function onClose():void{
ownerWindow.close();
}
]]>
</fx:Script>
</mx:Button>
</mx:ControlBar>
</s:Module>