我有一个SSAS多维数据集,其中数据按当年,去年和去年之前进行分区。我想在分区上设置分区切片属性,但是我无法使其正确处理。
查看SSAS Partition Slice Expression之后,我定义了一个计算所得的成员input()
,并将其用作切片表达式。定义为:
[Date].[Year].[All].[CurrentYear]
当我处理多维数据集时,它失败并显示错误,“违反了对分区片的限制。”我检查了构建切片的查询是否正确,并且当我使用切片表达式StrToMember("[Date].[Year].&[" + Format(now(), "yyyy") + "]")
时,该查询可以正常工作。
我在这里做错了什么吗?还是我试图做的事情是不可能的?
答案 0 :(得分:2)
SSAS分区片的表达非常严格。您不能使用动态MDX功能。而且,您不能指定无限范围,例如{NULL:[Date].[Calendar].[Dec, 2008]}
。
您必须明确指定切片表达式,并在需要时枚举其所有成员。
不幸的是,MS Documentation不完整。我会检查您是否真的需要切片? SSAS本身可以很好地自动检测处理中的切片。
另一种可能的方法-在提到的层次结构上定义静态维成员,并在分区切片表达式中使用它。使用相同的层次结构很重要。