Исходя из этого вопроса относительно вычисления члена У меня есть 2 вычисляемых члена, определенных как:
MEMBER [Asset].[Class].[Fixed Income Derivatives]
AS
AGGREGATE(
{
[Asset].[Class].&[Fixed Income],
[Asset].[Sub Class].&[Derivatives]
},
[Measures].CurrentMember
)
MEMBER [Asset].[Class].[Fixed Income Non-derivatives]
AS
AGGREGATE(
{
[Asset].[Class].&[Fixed Income],
EXCEPT([Asset].[Sub Class].[Sub Class],[Asset].[Sub Class].&[Derivatives])
},
[Measures].CurrentMember
)
Я могу использовать их в запросе MDX следующим образом:
SELECT
{
[Measures].[Market Value]
} ON 0,
NON EMPTY
{
[Asset].[Class].[Fixed Income Derivatives],
[Asset].[Class].[Fixed Income Non-derivatives]
[Asset].[Class].[Class]
} ON 1
FROM [Asset]
И это дает мне вывод следующим образом:
Class-----------------------|-MarketValue
============================|=============
Fixed Income Derivatives | 12345
Fixed Income Non-derivatives| 54321
Fixed Income | 66666
Property | 123
Equity | 987
Обратите внимание, что первые 2 строки на самом деле являются составными частями строки 3. Теперь я могу немного поработать с клиентским кодом, который читает этоданные, чтобы превратить эту таблицу в иерархию, но - и вот в чем вопрос - могу ли я сделать это с помощью MDX?Или я просто усложняю вещи?Я не против внесения изменений в куб при необходимости или если бы я мог определить эту иерархию там.