2013-08-26 36 views
2

我剛接觸MDX。我使用Team Foundation Server中的Team System Cube在 Visual Studio商業智能環境中工作。我的問題聽起來很簡單,但我不知道解決方案。MDX從一個維度層級結合所有值

1)我有一個有DateTime數據類型的字段。此字段的一個維度(按周分層)我用它在我的報告中顯示我的日曆周 。現在我有第二個字段,它有一個整數數據類型(這是一個度量)。我創建了一些數據集,所以它着眼於時刻:

  • 1周:50
  • 第2周:34
  • 第3周:46
  • ...
  • 周N:NN

我明白第二個字段中的值的分配以及維度上的值的相關性。我的要求,這聽起來很簡單:我需要的所有字段值的總和,使得它看起來 如下表所示:

  • Week1:200(54 + 34 + 46 + ...)
  • Week2:190
  • 譯員更加的:186

如果我試着總結一下有沒有變化。

IIF(ISEMPTY([Measures].[RemainingWorkProductBacklogItem]) OR NOT Mid([Work Item]. 
[PlannedWeek__HierarchyByWeek].CurrentMember.UniqueName,58,10) 
<= Format(Now(), "yyyy-MM-dd"), SUM([Measures].[RemainingWorkProductBacklogItem]),NULL) 

(Mid函數只顯示實際值,它shouldn't在這方面發揮的作用。)

我也試過YTD函數SUM函數組合太多,但我並沒有成功,仍然沒有變化(它顯示爲空)。有沒有我可以使用的功能,或者我必須對立方體進行更改嗎?

2)進一步的問題一般來說:如果我有兩個字段(兩個DateTime)有兩個不同的維度,可以安排一個映射? E.G.

DIMENSION1:

  • Week1:數據
  • Week2:數據
  • 譯員更加:數據

DIMENSION2:

  • Week2:數據
  • 譯員更加:數據

兩個維度包含面向上DIMENSION1的week2和3.該報告,可以顯示從DIMENSION2數據嗎? (我肯定這一定是可能的,我在立方體選項中搜索,但沒有找到它)。

非常感謝你在期待

尤金

+0

究竟是什麼,你想每週總結?不同的措施?不同星期的同一項措施?如果你有兩個具有星期屬性的維度,那麼這是不是一個維度的原因?你在使用角色扮演維度嗎? – FrankPl

+0

1)我想在不同的星期總結相同的測量。 2)在我的模板中,我將項目和任務區分開來(這是兩種不同的觀點,我將它視爲一個維度,但不知道如何,我確信有一個解決方案可以在一個維度上進行)和爲每個日曆周分配值我需要一個日期變量。所以我創建了兩個日期變量,我可以對每個日曆周進行分配。非常感謝您花時間回答我的問題。 – user2674068

回答

2

1)Ytd只有當你標記您的時間維度(必須是全尺寸,不只是一個維度隨着時間的某些屬性可以正常工作,併爲該維度的所有屬性提供正確的類型,該維度以及BIDS中Type屬性的屬性都配置了該類型,然後它僅適用於您的多維數據集的第一個維度。

Sum(Ytd([Dim Time].[PlannedWeek__HierarchyByWeek].CurrentMember)) 

Sum(Ytd([Dim Time].[PlannedWeek__HierarchyByWeek].CurrentMember), [Measures].[RemainingWorkProductBacklogItem]) 

2)你絕對應該有類似年份,季度,月,周,日,星期,等屬性一個時間維度(你並不需要所有這些,但有些)在你的魔方。不要將它與其他屬性混合。然後,參考文獻將不需要任何進一步的努我發現將幾個事實錶鏈接到這個維度沒有問題。而且您也可以將Ytd函數應用於此,因爲您只有一個時間維度。

如果您有錯誤的多維數據集設計,MDX可能會變得非常困難,比具有錯誤表格設計的SQL更難。

+0

非常感謝您的回答,我會嘗試。 – user2674068