MDX / Analysis Services计算月初至今

时间:2010-10-18 11:10:08

标签: mdx ssas

如果我不需要,我通常不会参与MDX,但......

我有一个带有简单事实表的多维数据集链接到时间维度(包含日期,月份,年份列等),我希望能够在该月的某一天计算当天的总月份总数

在SQL中它会很轻松,但我不确定如何在MDX中实现这一点。

更新我有一个固定日期的例子。现在我想知道如何在任何可能的日期执行此操作

WITH
MEMBER MTD_15_Feb_2010 AS
Aggregate
(
  MTD([Date].[Year Name -  Quarter Name -  Month Name -  Name].[Name].[02/15/2010]),
  [Measures].[Value]
)
SELECT
{
 MTD_15_Feb_2010
} ON 0
FROM [Cube]

1 个答案:

答案 0 :(得分:2)

您应该能够使用MTD功能创建MDX。它将返回从该月的第一天到传递给该函数的成员的所有日期的集合。

修改:有多种方法可以在任何一天更新您的示例。我建议使用[02/12/2010]函数替换日期成员CURRENTMEMBER。这也允许您显示多个日期的值,如下例所示。

WITH MEMBER [MTD_Value] AS AGGREGATE (
      MTD([Date].[Year Name -  Quarter Name -  Month Name -  Name].[Name].CURRENTMEMBER)
      , [Measures].[Value]
    )
SELECT [MTD_Value] ON 0
  , {
      [Date].[Year Name -  Quarter Name -  Month Name -  Name].[Name].[02/15/2010]
      , [Date].[Year Name -  Quarter Name -  Month Name -  Name].[Name].[01/15/2010]
      , [Date].[Year Name -  Quarter Name -  Month Name -  Name].[Name].[02/15/2009]
    } ON 1
FROM [Cube]