2017-05-05 62 views
0

我在SSAS中的时间维度具有周数的属性。如何重新命名星期名称取决于一周的某个星期是否与当天的当前星期匹配。例如,这是2017年的第18周,当从Time Dimension中检索星期名称时,我希望它被命名为Current Week。 可以做吗?以时间维度重命名星期属性SSAS

回答

0

DATEPART可以告诉你当前日期的一周。

WITH MEMBER Measures.Test AS DATEPART("ww", now()) 
SELECT Measures.Test on columns 
FROM TestCube 

这会返回一个整数,然后您可以将其与维度中的Week#进行比较。

0

不,MDX不能让您更改静态成员的标题。但是,您可以在DWH级别上设置名称(日期维度重新处理不应该持续太久)。此外,您可以create a dynamic member,这是一个额外的成员在运行时计算,因此它不会取代CurrentMember。其实,你可能会迫使返回周18NULL记住价值和作为周18CurrentWeek,但熊,它产生的副作用,比如订购:

Create Member CurrentCube.[Date].[Week].[CurrentWeek] as 
StrToMember('[Date].[Week].&[' + Cstr(Year(Now())) + Cstr(DatePart("ww", Now())) + ']')), 
Visible = 1; 


Scope(StrToMember('[Date].[Week].&[' + Cstr(Year(Now())) + Cstr(DatePart("ww", Now())) + ']'));   
     This = NULL; 
End Scope; 
+0

如何强制返回CurrentWeek而不是第18周? –

+0

看我上面的代码。 –