我想选择“2006季度1”的[paid amt]
和“2005季度1”的ParallelPeriod
。我的查询如下:
WITH
MEMBER [Measures].[ParallelPeriod Qtr] AS
PARALLELPERIOD( [Svc Date].[Svc Date].[Svc Qtr], 4, [Svc Date].[Svc Date].CURRENTMEMBER )
SELECT
NON EMPTY
{ [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] }
ON COLUMNS,
NON EMPTY
{
[Svc Date].[Svc Date].[Svc Qtr].&[20061]
}
ON ROWS
FROM [health costings model]
但是[Measures].[ParallelPeriod Qtr]
没有返回值。
有谁知道我的MDX查询有什么问题?或者是否有任何其他方法来生成句点周期差异。非常感谢!
答案 0 :(得分:2)
我认为您需要使用您的年级并找到上一年度的四分之一?
以下是否会返回任何内容?
SELECT
NON EMPTY { [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] } ON COLUMNS,
NON EMPTY
PARALLELPERIOD(
[Svc Date].[Svc Date].[Svc Year]
, 1
, [Svc Date].[Svc Date].[Svc Qtr].&[20061]
)
ON ROWS
FROM [health costings model];
就您最初所做的事情而言,您可能不必担心功能PARALLELPERIOD
,因为您可以尝试使用.LAG(4)
。所以它可能会简化为:
SELECT
NON EMPTY { [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] } ON COLUMNS,
NON EMPTY
[Svc Date].[Svc Date].[Svc Qtr].&[20061].LAG(4)
ON ROWS
FROM [health costings model];
如果您想继续使用WITH
条款,那么我们可以在元组中使用上述内容:
WITH
MEMBER [Measures].[ParallelPeriod Qtr] AS
(
[Svc Date].[Svc Date].CURRENTMEMBER.LAG(4)
,[Measures].[Pd Amt]
)
SELECT
NON EMPTY
{ [Measures].[Pd Amt]
, [Measures].[ParallelPeriod Qtr] } ON 0,
NON EMPTY
[Svc Date].[Svc Date].[Svc Qtr].&[20061]
ON 1
FROM [health costings model];