Uploaded image for project: 'Pentaho Analysis - Mondrian'
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-2284

Native Crossjoin should support the asterisk operator

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Severity: Unknown
    • Resolution: Unresolved
    • Affects Version/s: 5.2.0 GA, 5.3.0 GA
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Story Points:
      0
    • 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.

      Description

      Some clients (Saiku) use the asterisk operator as a shorthand for crossjoining sets. '*' is not registered as a native evaluator, however, so such crossjoins do not benefit from native evaluation.

      This change should be minimal.

      Here's an example query which uses the *

      with set [~COLUMNS] as '{[Time].[1997].[Q1]}'
      set [~ROWS_Customers] as '{[Customers].[Country].Members}'
      set [~ROWS_Education Level] as '{[Education Level].[Education Level].Members}'
      set [~ROWS_Gender] as '{[Gender].[F]}'
      select NON EMPTY Crossjoin([~COLUMNS], {[Measures].[Unit Sales]}) ON COLUMNS,
      NON EMPTY (([~ROWS_Customers] * [~ROWS_Education Level]) * [~ROWS_Gender]) ON ROWS
      from [Sales]
      

      I believe there are only 2 changes necessary to support this: add '*' to the list in RolapNativeRegistry, and add it as an allowed function in CrossJoinArgFactory.checkCrossJoin().

        Attachments

          Activity

            People

            Assignee:
            project admin Triage
            Reporter:
            mcampbell Matt Campbell
            Votes:
            7 Vote for this issue
            Watchers:
            10 Start watching this issue

              Dates

              Created:
              Updated: