基于计算维度成员的SSAS分区切片
SSAS partition slice based on calculated dimension member
我有一个 SSAS 多维数据集,其中数据按当年、去年和去年之前进行分区。我想在分区上设置分区切片 属性,但我无法正确处理它。
在查看 SSAS Partition Slice Expression 之后,我定义了一个计算成员 [Date].[Year].[All].[CurrentYear]
,并将其用作我的切片表达式。它被定义为:
StrToMember("[Date].[Year].&[" + Format(now(), "yyyy") + "]")
当我处理多维数据集时,它因错误而失败,"The restrictions imposed on the partition slice were violated." 我检查了构建切片的查询是否正确,并且在我使用 [=12= 的切片表达式时它有效].
我在这里做的事情是不是有误,或者我正在尝试做的事情是不可能的?
SSAS 分区切片表达式非常严格。您不能使用动态 MDX 函数;此外,您不能指定无限范围,例如 {NULL:[Date].[Calendar].[Dec, 2008]}
。
您必须显式指定切片表达式,并在需要时枚举其所有成员。
MS Documentation 不完整,很遗憾。我会检查你是否真的需要一片; SSAS 本身在处理时自动检测切片方面做得很好。
另一种可能的方法 - 在提到的层次结构上定义 static dimension member,并将其用于分区切片表达式。使用相同的层次结构很重要。
我有一个 SSAS 多维数据集,其中数据按当年、去年和去年之前进行分区。我想在分区上设置分区切片 属性,但我无法正确处理它。
在查看 SSAS Partition Slice Expression 之后,我定义了一个计算成员 [Date].[Year].[All].[CurrentYear]
,并将其用作我的切片表达式。它被定义为:
StrToMember("[Date].[Year].&[" + Format(now(), "yyyy") + "]")
当我处理多维数据集时,它因错误而失败,"The restrictions imposed on the partition slice were violated." 我检查了构建切片的查询是否正确,并且在我使用 [=12= 的切片表达式时它有效].
我在这里做的事情是不是有误,或者我正在尝试做的事情是不可能的?
SSAS 分区切片表达式非常严格。您不能使用动态 MDX 函数;此外,您不能指定无限范围,例如 {NULL:[Date].[Calendar].[Dec, 2008]}
。
您必须显式指定切片表达式,并在需要时枚举其所有成员。
MS Documentation 不完整,很遗憾。我会检查你是否真的需要一片; SSAS 本身在处理时自动检测切片方面做得很好。
另一种可能的方法 - 在提到的层次结构上定义 static dimension member,并将其用于分区切片表达式。使用相同的层次结构很重要。