Ssas MDX计算成员固定
我想问,在MDX语言中是否有函数,它在任何情况下都会返回相同的值 我创建了一个计算过的成员,这表示去年的销售额。很好。但若我在切片器或过滤器中排除去年的年份值,我将一无所获。是否有任何函数可以在不使用过滤器的情况下计算值 例如,我需要类似于power pivot中DAX中的calculate的函数 谢谢 编辑: [材料值]的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
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,明白了。我已经用计算更新了我的答案。