Dear Experts, Am newbie to OLAP. Just trying to get the report for the below SQL by using OLAP. but i could not get the correct sales unit. SELECT store.name, mdept.dept_name, sum(sales.gross) as gross_sales FROM sales sales INNER JOIN dept dept ON sales.store_id = dept.store_id AND sales.dept_no = dept.dept_no AND sales.is_fuel = dept.is_fuel INNER JOIN store store ON store.id = dept.store_id INNER JOIN mod_dept_names mdept ON dept.dept_nm = mdept.dept_nm INNER JOIN time time ON sales.time_id = time.id WHERE dept.is_fuel like '%100%' AND time.week = extract(week from current_timestamp) AND time.year = extract(year from current_timestamp) AND mdept.dept_name IN ('A','B','C','D','E') AND mdept.service_type='SELF' GROUP BY store.name, mdept.dept_name OLAP Schema : ************* <?xml version="1.0"?> <Schema name="openreports"> <Dimension name="Store"> <Hierarchy hasAll="true" allMemberName="All Store" primaryKey="id"> <Table name="shop"/> <Level name="Name" column="name" type="String" uniqueMembers="true"/> </Hierarchy> </Dimension> <Cube name="Sales"> <Table name="sales"/> <DimensionUsage name="Store" source="Store" foreignKey="store_id"/> <Dimension name="Service" foreignKey="dept_no"> <Hierarchy hasAll="true" allMemberName="All Service" primaryKey="dept_no" primaryKeyTable="dept"> <Join leftKey="dept_nm" rightKey="dept_nm"> <Table name="dept"/> <Table name="mod_dept_names"/> </Join> <Level name="Dept Name" table="mod_dept_names" column="service_type"/> </Hierarchy> </Dimension> <Dimension name="Dept" foreignKey="store_id"> <Hierarchy hasAll="true" allMemberName="All Dept" primaryKey="store_id" primaryKeyTable="dept"> <Join leftAlias="dept" leftKey="dept_nm" rightAlias="mod_dept_names" rightKey="dept_nm"> <Table name="dept" alias="dept"/> <Table name="mod_dept_names" alias="mod_dept_names"/> </Join> <Level name="Dept Name" table="mod_dept_names" column="dept_name"/> </Hierarchy> </Dimension> <Measure name="Gross" column="gross" aggregator="sum"/> </Cube> <Role name="SALES DEPT"> <SchemaGrant access="none"> <CubeGrant cube="Sales" access="all"> <HierarchyGrant hierarchy="[service]" access="custom" rollupPolicy="partial"> <MemberGrant member="[service].[sELF]" access="all"/> </HierarchyGrant> <HierarchyGrant hierarchy="[Dept]" access="custom" rollupPolicy="partial"> <MemberGrant member="[Dept].[A]" access="all"/> <MemberGrant member="[Dept]." access="all"/> <MemberGrant member="[Dept].[C]" access="all"/> <MemberGrant member="[Dept].[D]" access="all"/> <MemberGrant member="[Dept].[E]" access="all"/> </HierarchyGrant> </CubeGrant> </SchemaGrant> </Role> </Schema> MDX Query with ROLE : *********************** select {[Measures].[Gross]} on columns, {([store].[All Store],[service],[Dept])} on ROWS from Sales I need a report in this model: ********************************* Store Name | Service Type | Dept | Year | Week | Date | Sales Unit | | | | | | But i tried store name,service type,Dept & Sales unit. But sales unit values are not proper. In "Dept" dimension i tried to join all. But its not working. <Dimension name="Dept" foreignKey="store_id"> <Hierarchy hasAll="true" allMemberName="All Dept" primaryKey="store_id" primaryKeyTable="dept"> <Join leftAlias="dept" leftKey="dept_no" rightAlias="sales" rightKey="dept_no"> <Table name="sales" alias="sales"/> <Join leftAlias="dept" leftKey="is_fuel" rightAlias="sales" rightKey="is_fuel"> <Table name="sales" alias="sales"/> <Join leftAlias="dept" leftKey="dept_nm" rightAlias="mod_dept_names" rightKey="dept_nm"> <Table name="dept" alias="dept"/> <Table name="mod_dept_names" alias="mod_dept_names"/> </Join> </Join> </Join> <Level name="Dept Name" table="mod_dept_names" column="dept_name"/> </Hierarchy> </Dimension> Error when i tried the above dimension : ***************************************** Caused by: java.lang.ClassCastException: mondrian.olap.MondrianDef$Join cannot be cast to mondrian.olap.MondrianDef$Relation at mondrian.rolap.RolapStar.getUniqueRelation(RolapStar.java:322) at mondrian.rolap.RolapStar.getUniqueRelation(RolapStar.java:312) at mondrian.rolap.RolapStar.getUniqueRelation(RolapStar.java:261) at mondrian.rolap.RolapCubeHierarchy.<init>(RolapCubeHierarchy.java:91) at mondrian.rolap.RolapCubeDimension.<init>(RolapCubeDimension.java:49) at mondrian.rolap.RolapCube.getOrCreateDimension(RolapCube.java:613) at mondrian.rolap.RolapCube.<init>(RolapCube.java:149) at mondrian.rolap.RolapCube.<init>(RolapCube.java:179) at mondrian.rolap.RolapSchema.load(RolapSchema.java:420) at mondrian.rolap.RolapSchema.load(RolapSchema.java:314) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:232) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:72) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:953) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:755) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:176) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:106) at mondrian.olap.DriverManager.getConnection(DriverManager.java:110) at com.tonbeller.jpivot.mondrian.MondrianModel.initialize(MondrianModel.java:518) at com.tonbeller.jpivot.olap.model.OlapModelDecorator.initialize(OlapModelDecorator.java:132) at com.tonbeller.jpivot.tags.OlapModelProxy$MyState.initialize(OlapModelProxy.java:77) at com.tonbeller.jpivot.tags.StackStateManager.initializeAndShow(StackStateManager.java:76) at com.tonbeller.jpivot.tags.OlapModelProxy.initializeAndShow(OlapModelProxy.java:160) at com.tonbeller.jpivot.tags.OlapModelTag.doEndTag(OlapModelTag.java:81) at org.apache.jsp.WEB_002dINF.queries.drpinTest_jsp._jspx_meth_jp_005fmondrianQuery_005f0(drpinTest_jsp.java:140) at org.apache.jsp.WEB_002dINF.queries.drpinTest_jsp._jspService(drpinTest_jsp.java:69) ... 37 more Then i modified schema to this : ********************************** <Dimension name="Dept" foreignKey="store_id"> <Hierarchy hasAll="true" allMemberName="All Dept" primaryKey="store_id" primaryKeyTable="dept"> <Join leftAlias="dept" leftKey="dept_no" rightAlias="sales" rightKey="dept_no"> <Table name="dept" alias="dept"/> <Table name="sales" alias="sales"/> <Join leftAlias="dept" leftKey="is_fuel" rightAlias="sales" rightKey="is_fuel"> <Table name="dept" alias="dept"/> <Table name="sales" alias="sales"/> <Join leftAlias="dept" leftKey="dept_nm" rightAlias="mod_dept_names" rightKey="dept_nm"> <Table name="dept" alias="dept"/> <Table name="mod_dept_names" alias="mod_dept_names"/> </Join> </Join> </Join> <Level name="Dept Name" table="mod_dept_names" column="dept_name"/> </Hierarchy> </Dimension> Error when i tried the modified dimension : ***************************************** Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Table 'mod_dept_names' not found at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:808) at mondrian.olap.Util.newInternal(Util.java:1465) at mondrian.olap.Util.newError(Util.java:1480) at mondrian.rolap.RolapLevel.checkColumn(RolapLevel.java:371) at mondrian.rolap.RolapLevel.<init>(RolapLevel.java:115) at mondrian.rolap.RolapLevel.<init>(RolapLevel.java:294) at mondrian.rolap.RolapHierarchy.<init>(RolapHierarchy.java:194) at mondrian.rolap.RolapDimension.<init>(RolapDimension.java:115) at mondrian.rolap.RolapCube.getOrCreateDimension(RolapCube.java:606) at mondrian.rolap.RolapCube.<init>(RolapCube.java:149) at mondrian.rolap.RolapCube.<init>(RolapCube.java:179) at mondrian.rolap.RolapSchema.load(RolapSchema.java:420) at mondrian.rolap.RolapSchema.load(RolapSchema.java:314) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:232) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:72) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:953) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:755) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:176) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:106) at mondrian.olap.DriverManager.getConnection(DriverManager.java:110) at com.tonbeller.jpivot.mondrian.MondrianModel.initialize(MondrianModel.java:518) at com.tonbeller.jpivot.olap.model.OlapModelDecorator.initialize(OlapModelDecorator.java:132) at com.tonbeller.jpivot.tags.OlapModelProxy$MyState.initialize(OlapModelProxy.java:77) at com.tonbeller.jpivot.tags.StackStateManager.initializeAndShow(StackStateManager.java:76) at com.tonbeller.jpivot.tags.OlapModelProxy.initializeAndShow(OlapModelProxy.java:160) at com.tonbeller.jpivot.tags.OlapModelTag.doEndTag(OlapModelTag.java:81) at org.apache.jsp.WEB_002dINF.queries.drpinTest_jsp._jspx_meth_jp_005fmondrianQuery_005f0(drpinTest_jsp.java:140) at org.apache.jsp.WEB_002dINF.queries.drpinTest_jsp._jspService(drpinTest_jsp.java:69) ... 37 more Even i tried to use <View> in "Dept" Dimension. *********************************************** <Dimension name="Dept" foreignKey="store_id"> <Hierarchy hasAll="true" allMemberName="All Dept"> <View alias="v"> <SQL dialect="generic"> SELECT mdept.dept_name as depn FROM sales sales INNER JOIN dept dept ON sales.store_id = dept.store_id AND sales.dept_no = dept.dept_no AND sales.is_fuel = dept.is_fuel INNER JOIN shop store ON store.id = dept.store_id INNER JOIN mod_dept_names mdept ON dept.dept_nm = mdept.dept_nm INNER JOIN time time ON sales.time_id = time.id WHERE mdept.dept_name IN ('REGULAR','SPECIAL','SUPER','ULTRA','DIESEL') </SQL> </View> <Level name="Dept Name" column="depn" uniqueMembers="true"/> </Hierarchy> </Dimension> This is working. but in sales unit, values are not correct. i could not use the Dimension <View> SQL inside <Measure>. Please help me some one to get the correct sales unit.Is there any way to use the select query inside <MeasureExpression>. Otherwise what way i can get the sales unit correctly.? Am using Mondrian version of "3.1.1.12687". Code:inner join