我想使用MDX查询在SSAS中创建计算度量。该措施应返回一年内和去年同期的平均金额。我发现了ParallelPeriod函数,但无法使用它。
我的查询应该如下所示
(
AGGREGATE(
{[TF_Product].[LastDayOfMonth]}
*{[TF_Product].[Category].&[Deposits]},
[Measures].[Montant]
)
+
AGGREGATE(
{ Get the date of the same period last year using parallelperiod}
*{[TF_Product].[Category].&[Deposits]},
[Measures].[Montant]
)
)/2
谢谢。
答案 0 :(得分:0)
这样的事情有用吗?
...
MEMBER [Measures].[Avg of 2 Mths] AS
Avg(
{[Date].[Month].CurrentMember.Lag(12),[Date].[Month].CurrentMember}
[Measures].[Sales Quantity]
)
...
它适用于这种情况:
WITH
MEMBER [Measures].[Avg of 2 Mths] AS
Avg
(
{
[Date].[Calendar].CurrentMember.Lag(12)
,[Date].[Calendar].CurrentMember
}
,[Measures].[Internet Sales Amount]
)
SELECT
{[Measures].[Internet Sales Amount],[Measures].[Avg of 2 Mths]} ON 0
,[Date].[Calendar].[Month] ON 1
FROM [Adventure Works];
结果如下:
(755527.89 + 577314)/ 2 = 666420.95
答案 1 :(得分:0)
这有效吗?
with member [Measures].AvgAmnt as
(
AGGREGATE(
{[TF_Product].[Calendar].Currentmember}
*{[TF_Product].[Category].Currentmember},
[Measures].[Montant]
)
+
AGGREGATE(
{ParallelPeriod([TF_Product].[Calendar].[Month],1,[TF_Product].[Calendar].Currentmember)}
*{[TF_Product].[Category].Currentmember},
[Measures].[Montant]
)
)/2
select [TF_Product].[Calendar].[Date].members * [TF_Product].[Category].members on 1,
[Measures].AvgAmnt on 0
from [SomeCube]
假设您的多维数据集中有日期层次结构(日历)。