Full MDX - Crossjoin not parsing properly for stacked dims

Issue #738 resolved
Wei Wang created an issue

There appears to be an issue with how Apliqo is parsing the crossjoin expressions in Full MDX (i.e., replacing “*” when “,” is needed). Let’s use the “General Ledger” cube of UX_Demo as an example.

  • create a View using the “Full MDX” below:
 SELECT
  NON EMPTY
   {[Region].[Region].[1],[Region].[Region].[10],[Region].[Region].[2],[Region].[Region].[9]}
  ON COLUMNS ,
  NON EMPTY
  {{[Account].[Account].[4]}*{[Department].[1]},{[Account].[Account].[40]}*{[Department].[2]}}
  ON ROWS
FROM [General Ledger]
WHERE
  (
   [Version].[Version].[Budget],
   [Year].[Year].[2016],
   [Currency].[Currency].[Local],
   [General Ledger Measure].[General Ledger Measure].[Amount],
   [Period].[Period].[Year]
  )
  • this returns an error and no view generates
  • upon investigating the error, we find that Apliqo is translating the “ROW” portion of MDX above to what is below, replacing the “,” that separates the two combinations with a “*”
{[Account].[Account].[4]}*{[Department].[1]}*{[Account].[Account].[40]}*{[Department].[2]} ON ROWS
  • I’m not sure why Apliqo isn’t just passing the Full MDX as is but perhaps it is trying to correct possible syntax errors?

I did find a work-around by wrapping StrToSet around each combination (see below) but it adds a bit of extra length to the Full MDX statement…

SELECT 
  NON EMPTY 
   {[Region].[Region].[1],[Region].[Region].[10],[Region].[Region].[2],[Region].[Region].[9]} 
  ON COLUMNS , 
  NON EMPTY
  {
  {StrToSet(\'{[Account].[Account].[4]}*{[Department].[1]}')},
  {StrToSet(\'{[Account].[Account].[40]}*{[Department].[2]}')}
  }
  ON ROWS 
FROM [General Ledger] 
WHERE 
  (
   [Version].[Version].[Budget],
   [Year].[Year].[2016],
   [Currency].[Currency].[Local],
   [General Ledger Measure].[General Ledger Measure].[Amount],
   [Period].[Period].[Year]
  )

Comments (4)

  1. Log in to comment