I have been using a cloudshare trial of HANA to test out our client tool. I am connecting using ODBO.
While some basics work such as [dim].[heir].[level].members and DrillDownMember(), many functions don't seem to work.
My question is, to what extent does HANA support MDX? Is there a list of supported vs. unsupported functionality?
The rest of this is just what I found in a bit of testing. All of these queries work fine against Analysis Services. I am a bit nervous about using MDX against HANA when I found these so easily.
Some examples:
1) Current Member does not appear to work:
Select Non Empty { [Month].[Month].DefaultMember } On Columns,
TopCount ( {[ERDAT].[ERDAT].[ERDAT].Members} , 10 ,
([Measures].[Measures].CurrentMember)
) On Rows From [ORDERS] Where ([Measures].[NETWR]) Cell Properties VALUE
(Also tried with [Measures].CurrentMember in the TopCount)
I have had this happen inside several functions, not just TopCount().
Error:
sql processing error: Error occurred while executing a MDX statement. The error message is: An internal error occurred. Assertion failed with error message Executing hierarchy navigation for [Method: CURRENTMEMBER] failed. Please check the trace files for more details[SAPNewDBMDXProvider.1]
2) TopCount gives incorrect order:
As above, but named the measure in the third argument (Numeric_Expression) to TopCount. I get the top 10 items, but not in order of the measure.
3) Order not allowed
Select Non Empty AddCalculatedMembers ( DrillDownMember ( { [Month].[Month].DefaultMember } , { [Month].[Month].[All].[(all)] } , Recursive ) ) On Columns,
Non Empty Order ( {[ERDAT].[ERDAT].&[19941129],[ERDAT].[ERDAT].&[19941208]},
( [Measures].[NETWR] ),
BDESC ) On Rows From [ORDERS] Where ([Measures].[NETWR]) Cell Properties VALUE
Error:
sql processing error: Error occurred while executing a MDX statement. The error message is: The usage of ORDER in the current context is not supported[SAPNewDBMDXProvider.1]
4) Filter gives "strange" results
Select Non Empty { [Month].[Month].DefaultMember } On Columns,
Filter ( {[ERDAT].[ERDAT].[ERDAT].Members} ,
(
[Measures].[NETWR]
)
> 50000
) On Rows From [ORDERS] Where ([Measures].[NETWR]) Cell Properties VALUE
All the members of [ERDAT] are returned, regardless of value, but the values are null where they were less than 50000 (meet the filter criteria)
5) Generate not allowed
Don't have the query to hand, but I was using the Generate() overload that takes a string expression and delimiter to create a measure that has delimited values over a set in it.
That is the set passed to generate is the months, and the result in each cells is the values for those periods, e.g. "1|2|3|4|5"
Error:
sql processing error: Error occurred while executing a MDX statement. The error message is: The usage of GENERATE in the current context is not supported[SAPNewDBMDXProvider.1]