2013-10-17 114 views
1

我有一個SSAS立方體,用於跟蹤倉庫中物品的移動。項目被掃描到不同的位置,所以我們有一個日期和時間(HH:MM:SS)表示該項目被掃描。我們希望能夠根據查詢被切分的屬性創建一個計算的度量值,該度量值不是事實表上預先定義的,因爲我們希望它是動態的。根據當前行時間與上一行時間之間的差異計算SSAS中的時間間隔

因此,爲了適應這一點,我想我會創造出具有有效日期和有效時間的交集,這樣的設置:

設置[有效期] 作爲過濾([WMSR日期([[Valid Date] * [Time]。[Full Date]。[Full Date] .MEMBERS,[Measures]。[Fact Scans Count]> 0)

SET [Valid Time] AS FILTER [Full Time] .MEMBERS),[Measures]。[Fact Scans Count]> 0)

所以,如果我運行這個:

SELECT {[措施]。[事實掃描計數]} ON COLUMNS, [有效時間] ON ROWS FROM WarehouseCube WHERE [片]。[昏暗ID密鑰]。 & [1127981]

它會給我一個給定的項目,掃描的日期/時間和計數。我如何從上一行獲取日期/時間?

在此先感謝!

回答

0

你可以使用

[ValidTime].Item(Rank(([WMSR Date].[Full Date].CurrentMember, [Time].[Full Time].CurrentMember), 
         [ValidTime]) 
       - 2 
       ) 

Rank函數返回一個元組的一組中的位置。函數Item從一組中返回一個元組。 由於Rank爲第一個項目返回1,而Item期望第一個項目爲0,並且您想要返回一個位置,則需要減去兩個。

相關問題