Ssas MDX计算成员固定

Ssas MDX计算成员固定,ssas,mdx,member,Ssas,Mdx,Member,我想问,在MDX语言中是否有函数,它在任何情况下都会返回相同的值 我创建了一个计算过的成员,这表示去年的销售额。很好。但若我在切片器或过滤器中排除去年的年份值,我将一无所获。是否有任何函数可以在不使用过滤器的情况下计算值 例如,我需要类似于power pivot中DAX中的calculate的函数 谢谢 编辑: [材料值]的MDX计算构件: CREATE MEMBER CURRENTCUBE.[Measures].[MAT value] AS SUM([03 Datumy].[MAT].&am

我想问,在MDX语言中是否有函数,它在任何情况下都会返回相同的值

我创建了一个计算过的成员,这表示去年的销售额。很好。但若我在切片器或过滤器中排除去年的年份值,我将一无所获。是否有任何函数可以在不使用过滤器的情况下计算值

例如,我需要类似于power pivot中DAX中的calculate的函数

谢谢

编辑:

[材料值]的MDX计算构件:

CREATE MEMBER CURRENTCUBE.[Measures].[MAT value]
 AS SUM([03 Datumy].[MAT].&[MAT],[Measures].[Sales value]), 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Sales value' ,  ASSOCIATED_MEASURE_GROUP = '04 Hodnoty'  ;
[Mat-1值]的MDX计算构件:

CREATE MEMBER CURRENTCUBE.[Measures].[MAT-1 value]
 AS SUM([03 Datumy].[MAT].&[MAT-1],[Measures].[Sales value]), 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Sales value' ,  ASSOCIATED_MEASURE_GROUP = '04 Hodnoty'  ;

编辑2:

MAT和MAT-1基于具有此值的列。我有这样的维度:

数据显示:

[03 Datumy]中的关系:

mat是在SQL server中计算的。因为,我没有太多的时间来计算多维数据集中的层次结构。

(讨论更新由于缺乏必要性而被删除)

更新以修复问题:

由于您的计算确定了属于特定月份的月份,因此基于SQL,您可以通过添加
[03 Datumy].[Year].[All]
,通过重写MAT度量来筛选出日期层次结构:

CREATE MEMBER CURRENTCUBE.[Measures].[MAT value]
 AS ([03 Datumy].[MAT].&[MAT],[03 Datumy].[Year].[All],[Measures].[Sales value]), 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Sales value' ,  ASSOCIATED_MEASURE_GROUP = '04 Hodnoty'  ;
下一个也一样:

CREATE MEMBER CURRENTCUBE.[Measures].[MAT-1 value]
 AS ([03 Datumy].[MAT].&[MAT-1],[03 Datumy].[Year].[All],[Measures].[Sales value]), 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Sales value' ,  ASSOCIATED_MEASURE_GROUP = '04 Hodnoty'  ;

实际上,它相当于旧的SSAS-2000函数
。忽略

我需要在ms excel中使用它。它不起作用的地方。。如果我设置了filter或slicer,则该值不会显示..@JattanorRadar,我的示例仍在Excel中工作(答案的更新部分)。您能用Excel创建的MDX语句的图像或文本更新您的帖子吗?@Jattanorard,我相信,[03 Datumy]。[MAT]层次结构是一组规则,用于计算任何度量的特定期间(去年、年初至今、MTD等)。请您再加上&[MAT-1]和&[MAT]计算,好吗?(看看这里使用了哪些层次结构,为什么这个不适用于简单过滤器)这不是计算。这是基于表中的列。@Jattanorard,明白了。我已经用计算更新了我的答案。