Pentaho Analysis - Mondrian
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-734

Exception thrown when creating a "New Analysis View" with JPivot

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.2.0 GA (3.6.0 GA Suite Release)
    • Component/s: None
    • Labels:
      None
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.
    • QA Validation Status:
      Not Yet Validated

      Description

      Repro path:

      -Start the "biserver-ee" (used 3.6 snapshot)
      -Click "New Analysis View"
      -Select the schema SteelWheels with the SteelWheelsSales cube
      -Attempt to slice and dice on Product
      -You will get a

      Error Occurred While getting Resultset
      An error occurred while rendering Pivot.jsp. Please see the log for details.

      NOTE: Work around for this problem is by setting:

      mondrian.native.crossjoin.enable=true to false
      at
      pentaho-solutions/system/mondrian/mondrian.properties


      The stack trace is:

      14:47:41,500 WARN [Logger] misc-org.pentaho.platform.engine.core.system.Pentaho
      System: PentahoSystem.WARN_OBJECT_NOT_CONFIGURED - Object with name "Mondrian-Us
      erRoleMapper" has not been configured in the Pentaho object factory.
      14:47:43,078 WARN [TemplateUtil] not found: [Measures].[Quantity]
      Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
      Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
      Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
      java.lang.StackOverflowError
              at mondrian.olap.type.MemberType.<init>(MemberType.java:51)
              at mondrian.olap.type.MemberType.forMember(MemberType.java:115)
              at mondrian.calc.impl.ConstantCalc.constantMember(ConstantCalc.java:156)

              at mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileMember(AbstractExpCompi
      ler.java:173)
              at mondrian.olap.fun.SetFunDef$MemberSetListCalc.createCalc(SetFunDef.ja
      va:170)
              at mondrian.olap.fun.SetFunDef$MemberSetListCalc.compileSelf(SetFunDef.j
      ava:134)
              at mondrian.olap.fun.SetFunDef$MemberSetListCalc.<init>(SetFunDef.java:1
      20)
              at mondrian.olap.fun.SetFunDef.compileCall(SetFunDef.java:89)
              at mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:152)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileAs(AbstractExpCompiler.
      java:127)
              at mondrian.olap.fun.CrossJoinFunDef.toList(CrossJoinFunDef.java:1139)
              at mondrian.olap.fun.CrossJoinFunDef.compileCallImmutableList(CrossJoinF
      unDef.java:1087)
              at mondrian.olap.fun.CrossJoinFunDef.compileCall(CrossJoinFunDef.java:10
      6)
              at mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:152)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileAs(AbstractExpCompiler.
      java:127)
              at mondrian.calc.impl.AbstractExpCompiler.compileList(AbstractExpCompile
      r.java:304)
              at mondrian.calc.impl.BetterExpCompiler.compileList(BetterExpCompiler.ja
      va:77)
              at mondrian.calc.impl.AbstractExpCompiler.compileList(AbstractExpCompile
      r.java:293)
              at mondrian.olap.fun.UnionFunDef.compileCall(UnionFunDef.java:52)
              at mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:152)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileAs(AbstractExpCompiler.
      java:127)
              at mondrian.olap.fun.CrossJoinFunDef.toList(CrossJoinFunDef.java:1139)
              at mondrian.olap.fun.CrossJoinFunDef.compileCallMutableList(CrossJoinFun
      Def.java:1536)
              at mondrian.olap.fun.CrossJoinFunDef.compileCall(CrossJoinFunDef.java:10
      9)
              at mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:152)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileAs(AbstractExpCompiler.
      java:127)
              at mondrian.calc.impl.AbstractExpCompiler.compileList(AbstractExpCompile
      r.java:304)
              at mondrian.calc.impl.BetterExpCompiler.compileList(BetterExpCompiler.ja
      va:77)
              at mondrian.olap.fun.HierarchizeFunDef.compileCall(HierarchizeFunDef.jav
      a:45)
              at mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:152)
              at mondrian.calc.impl.AbstractExpCompiler.compile(AbstractExpCompiler.ja
      va:80)
              at mondrian.calc.impl.AbstractExpCompiler.compileAs(AbstractExpCompiler.
      java:127)
              at mondrian.calc.impl.AbstractExpCompiler.compileList(AbstractExpCompile
      r.java:304)
              at mondrian.calc.impl.BetterExpCompiler.compileList(BetterExpCompiler.ja
      va:77)
              at mondrian.calc.impl.AbstractExpCompiler.compileList(AbstractExpCompile
      r.java:293)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:899)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.calc.impl.AbstractListCalc.evaluateTupleList(AbstractListCal
      c.java:89)
              at mondrian.olap.fun.HierarchizeFunDef$2.evaluateTupleList(HierarchizeFu
      nDef.java:64)
              at mondrian.calc.impl.AbstractTupleListCalc.evaluateList(AbstractTupleLi
      stCalc.java:88)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.calc.impl.AbstractListCalc.evaluateTupleList(AbstractListCal
      c.java:89)
              at mondrian.olap.fun.HierarchizeFunDef$2.evaluateTupleList(HierarchizeFu
      nDef.java:64)
              at mondrian.calc.impl.AbstractTupleListCalc.evaluateList(AbstractTupleLi
      stCalc.java:88)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.calc.impl.AbstractListCalc.evaluateTupleList(AbstractListCal
      c.java:89)
              at mondrian.olap.fun.HierarchizeFunDef$2.evaluateTupleList(HierarchizeFu
      nDef.java:64)
              at mondrian.calc.impl.AbstractTupleListCalc.evaluateList(AbstractTupleLi
      stCalc.java:88)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.calc.impl.AbstractListCalc.evaluateTupleList(AbstractListCal
      c.java:89)
              at mondrian.olap.fun.HierarchizeFunDef$2.evaluateTupleList(HierarchizeFu
      nDef.java:64)
              at mondrian.calc.impl.AbstractTupleListCalc.evaluateList(AbstractTupleLi
      stCalc.java:88)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.calc.impl.AbstractListCalc.evaluateTupleList(AbstractListCal
      c.java:89)
              at mondrian.olap.fun.HierarchizeFunDef$2.evaluateTupleList(HierarchizeFu
      nDef.java:64)
              at mondrian.calc.impl.AbstractTupleListCalc.evaluateList(AbstractTupleLi
      stCalc.java:88)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArg
      Factory.java:147)
              at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(Cro
      ssJoinArgFactory.java:51)
              at mondrian.rolap.RolapNativeCrossJoin.buildArgs(RolapNativeCrossJoin.ja
      va:274)
              at mondrian.rolap.RolapNativeCrossJoin.buildConstraint(RolapNativeCrossJ
      oin.java:264)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:235)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr
      y.java:56)
              at mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaRea
      der.java:608)
              at mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(Delegating
      SchemaReader.java:235)
              at mondrian.olap.fun.CrossJoinFunDef$BaseListCalc.evaluateList(CrossJoin
      FunDef.java:1168)
              at mondrian.olap.fun.UnionFunDef$1.evaluateList(UnionFunDef.java:59)
              at mondrian.rolap.sql.CrossJoinArgFactory.expandNonNative(CrossJoinArgFa
      ctory.java:900)
              at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFac
      tory.java:345)
              at mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJ
      oin.java:105)
              at mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistr

        Activity

        Hide
        Ezequiel Cuellar added a comment -
        MDX for this with crossjoin set to false is:

        select NON EMPTY {[Measures].[Quantity]} ON COLUMNS,
          NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Markets].[All Markets]}, Union(Crossjoin({[Customers].[All Customers]}, {[Product].[All Products]}), Crossjoin({[Customers].[All Customers]}, [Product].[All Products].Children)))), {([Time].[All Years], [Order Status].[All Status Types])}) ON ROWS
        from [SteelWheelsSales]
        Show
        Ezequiel Cuellar added a comment - MDX for this with crossjoin set to false is: select NON EMPTY {[Measures].[Quantity]} ON COLUMNS,   NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Markets].[All Markets]}, Union(Crossjoin({[Customers].[All Customers]}, {[Product].[All Products]}), Crossjoin({[Customers].[All Customers]}, [Product].[All Products].Children)))), {([Time].[All Years], [Order Status].[All Status Types])}) ON ROWS from [SteelWheelsSales]
        Hide
        Ezequiel Cuellar added a comment -
        MDX for foodmart with crossjoin set to false is:

        select NON EMPTY {[Measures].[Unit Sales]} ON COLUMNS,
          NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Store].[All Stores]}, Crossjoin({[Store Size in SQFT].[All Store Size in SQFTs]}, Crossjoin({[Store Type].[All Store Types]}, Union(Crossjoin({[Time].[1997]}, {[Product].[All Products]}), Crossjoin({[Time].[1997]}, [Product].[All Products].Children)))))), {([Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes])}) ON ROWS
        from [Sales]
        Show
        Ezequiel Cuellar added a comment - MDX for foodmart with crossjoin set to false is: select NON EMPTY {[Measures].[Unit Sales]} ON COLUMNS,   NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Store].[All Stores]}, Crossjoin({[Store Size in SQFT].[All Store Size in SQFTs]}, Crossjoin({[Store Type].[All Store Types]}, Union(Crossjoin({[Time].[1997]}, {[Product].[All Products]}), Crossjoin({[Time].[1997]}, [Product].[All Products].Children)))))), {([Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes])}) ON ROWS from [Sales]
        Hide
        Will Gorman added a comment - - edited
        Debugging further, this is related to setting both EnableNativeCrossJoin and ExpandNonNative to true. Please see the below Foodmart test case for an example:

            public void testExpandNonNativeWithEnableNativeCrossJoin() {
              final MondrianProperties mondrianProperties =
                MondrianProperties.instance();
              propSaver.set(mondrianProperties.EnableNativeCrossJoin, true);
              propSaver.set(mondrianProperties.ExpandNonNative, true);

              String mdx =
                  "select NON EMPTY {[Measures].[Unit Sales]} ON COLUMNS,"
               + " NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Store].[All Stores]}, Crossjoin({[Store Size in SQFT].[All Store Size in SQFTs]}, Crossjoin({[Store Type].[All Store Types]}, Union(Crossjoin({[Time].[1997]}, {[Product].[All Products]}), Crossjoin({[Time].[1997]}, [Product].[All Products].Children)))))), {([Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes])}) ON ROWS"
               + " from [Sales] ";
              assertQueryReturns(
                  mdx,
                  "Axis #0:\n"
                  + "{}\n"
                  + "Axis #1:\n"
                  + "{[Measures].[Unit Sales]}\n"
                  + "Axis #2:\n"
                  + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[All Products], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"
                  + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Drink], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"
                  + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Food], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"
                  + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Non-Consumable], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"
                  + "Row #0: 266,773\n"
                  + "Row #1: 24,597\n"
                  + "Row #2: 191,940\n"
                  + "Row #3: 50,236\n");
          }
        Show
        Will Gorman added a comment - - edited Debugging further, this is related to setting both EnableNativeCrossJoin and ExpandNonNative to true. Please see the below Foodmart test case for an example:     public void testExpandNonNativeWithEnableNativeCrossJoin() {       final MondrianProperties mondrianProperties =         MondrianProperties.instance();       propSaver.set(mondrianProperties.EnableNativeCrossJoin, true);       propSaver.set(mondrianProperties.ExpandNonNative, true);       String mdx =           "select NON EMPTY {[Measures].[Unit Sales]} ON COLUMNS,"        + " NON EMPTY Crossjoin(Hierarchize(Crossjoin({[Store].[All Stores]}, Crossjoin({[Store Size in SQFT].[All Store Size in SQFTs]}, Crossjoin({[Store Type].[All Store Types]}, Union(Crossjoin({[Time].[1997]}, {[Product].[All Products]}), Crossjoin({[Time].[1997]}, [Product].[All Products].Children)))))), {([Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes])}) ON ROWS"        + " from [Sales] ";       assertQueryReturns(           mdx,           "Axis #0:\n"           + "{}\n"           + "Axis #1:\n"           + "{[Measures].[Unit Sales]}\n"           + "Axis #2:\n"           + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[All Products], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"           + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Drink], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"           + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Food], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"           + "{[Store].[All Stores], [Store Size in SQFT].[All Store Size in SQFTs], [Store Type].[All Store Types], [Time].[1997], [Product].[Non-Consumable], [Promotion Media].[All Media], [Promotions].[All Promotions], [Customers].[All Customers], [Education Level].[All Education Levels], [Gender].[All Gender], [Marital Status].[All Marital Status], [Yearly Income].[All Yearly Incomes]}\n"           + "Row #0: 266,773\n"           + "Row #1: 24,597\n"           + "Row #2: 191,940\n"           + "Row #3: 50,236\n");   }
        Hide
        Julian Hyde added a comment -
        Fixed in change 13600.
        Show
        Julian Hyde added a comment - Fixed in change 13600.
        Hide
        Vikram NS added a comment -
        This issue has been fixed and validated using 3.7.0-M1 build on 29/Sept/10.
        Show
        Vikram NS added a comment - This issue has been fixed and validated using 3.7.0-M1 build on 29/Sept/10.

          People

          • Assignee:
            Rahul Gurjar
            Reporter:
            Ezequiel Cuellar
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: