如何根据MDX中的另一个属性值过滤时间层次结构

时间:2015-01-21 14:49:14

标签: ssas mdx

我想创建一个计算成员。我有一个时间维度层次结构“YQM”,它有年/季/月。计算出的成员应该找到YTD直到当月。但是,当月的价值将来自数据库。 我创建了一个属性“CP”,它返回当前月份值。 请告诉我如何创建计算成员。请注意,“CP”不在同一层次YQM中。

2 个答案:

答案 0 :(得分:0)

我不明白您使用Aggregate的原因。所以,我会假设它出于某种目的存在,你还没有澄清。现在,如果[YQM].[Month][Dim].[CP]的成员具有相同的格式,那么您可以尝试以下代码:

   Aggregate(
        PeriodsToDate([Dim].[YQM].[Month].MEMBERS,
            FILTER([Dim].[YQM].[Month].MEMBERS, 
            [YQM].[Month].CURRENTMEMBER.member_value = [Dim].[CP].FirstChild.member_value)
        )
    )

答案 1 :(得分:0)

为什么不尝试使用函数YTD。以下内容应该为您提供第一列数据中的月度金额,然后是下一栏中的年初至今金额:

WITH MEMBER [Measures].[YearToDate] AS
  AGGREGATE(
    YTD()
   ,[Measures].[someMeasureInCube]
  )
SELECT 
  {
    [Measures].[someMeasureInCube], 
    [Measures].[YearToDate]
  } ON 0,
  [Dim].[YQM].[Month].MEMBERS ON 1
FROM [yourCube]