Создать меру в MDX для набора членов
Мне нужно что-то следующее:
with member Measures.Test2 as (Measures.Test, {[Assets Monthly].[Disbursed Date].&[2014], [Assets Monthly].[Disbursed Date].&[2015]})
select Measures.Test2 on columns
from databaseX
Это работает, только если я установил его только с одним членом, например:
with member Measures.Test2 as (Measures.Test, [Assets Monthly].[Disbursed Date].&[2014])
Ошибка, которую я получаю в первом случае:
Функция ожидает строковое или числовое выражение для аргумента. Выражение набора кортежей было использовано.
1 ответ
Решение
Против AdvWrks
:
WITH
MEMBER Measures.Test2 AS
Sum
(
{
[Date].[Calendar].[Calendar Year].&[2006]
,[Date].[Calendar].[Calendar Year].&[2007]
}
,[Measures].[Internet Sales Amount]
)
SELECT
Measures.Test2 ON COLUMNS
FROM [Adventure Works];
Ваш сценарий:
WITH
MEMBER Measures.Test2 AS
Sum
(
{
[Assets Monthly].[Disbursed Date].&[2014]
,[Assets Monthly].[Disbursed Date].&[2015]
}
,Measures.Test
)
SELECT
Measures.Test2 ON COLUMNS
FROM databaseX;
Это красивее. Создал вычисляемый элемент в иерархии Date и поместил меры в WHERE
слайсер:
WITH
MEMBER [Date].[Calendar].[testPeriod] AS
Aggregate
(
{
[Date].[Calendar].[Calendar Year].&[2006]
,[Date].[Calendar].[Calendar Year].&[2007]
}
)
SELECT
[Date].[Calendar].[testPeriod] ON COLUMNS
FROM [Adventure Works]
WHERE
[Measures].[Internet Sales Amount];