2017-05-05 35 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

看我上面的代碼。 –