Вот вопрос для начинающих. В запросе MDX, как мне вернуть свойства измерения? Единственный способ, которым я нашел, - добавить этот псевдоним в размер столбца, используя WITH MEMBER
.Как получить свойства измерения в MDX
WITH
MEMBER [Measures].[User Email] as [User].CurrentMember.Properties("Email")
SELECT {
[Measures].[User Email],
[Measures].[Total Fees Value]
} ON COLUMNS,
NON EMPTY {
CrossJoin([Order].Children, [User].Children)
} ON ROWS
FROM [LineItemFact]
WHERE ([DateOfSalePst.Days].[2013])
Это кажется немного неуклюжим. Проблемы возникают, если я хочу отображать итоговые суммы, добавив ([Order].[All], [User].[All])
в оси строк. Он попытается вычислить суммы для всех столбцов и будет возвращать исключения в User Email
, потому что, естественно, он не может рассчитать сумму по электронной почте.
Нет ли лучшего способа получить свойства в MDX?
Я использую Mondrian с olap4j. Ваш запрос, похоже, работает, когда я пытаюсь использовать его на Mondrian JPivot. Но когда я пытаюсь выполнить один и тот же запрос через olap4j, я получаю 'java.lang.ClassCastException: mondrian.mdx.MemberExpr не может быть передан mondrian.mdx.UnresolvedFunCall' –
Я создал проблему JIRA на Mondrian для этого http: //jira.pentaho .com/просмотр/MONDRIAN-1768 –