2013-02-15 98 views
0

在SSAS上構建多維數據集時,我遇到了一個奇怪的問題。我有一個事實表,讓我們說FactActivity。然後我有一個DimActivity維度,它與這個事實有1對1的關係,並且所有的外鍵都與維度綁定。因此,日期維度,產品維度等都綁定到DimActivity。構建整個SSAS多維數據集不起作用,按維度構建維度 - 構建順序?

當我構建整個立方體時,它似乎是在維度之前構建事實,因此它給了我錯誤。但是,如果我在事實之前手動構建維度,它就可以工作。

SSAS中是否有任何地方可以配置構建順序,而不是使用Analysis Services處理任務從SSIS執行此操作?

非常感謝!

+0

在你上面說「當我建立整個立方體」。我認爲你需要更精確,因爲這可能有很多意義。 – 2013-02-18 03:36:25

回答

0

對於其他人誰遇到類似的問題....

我之所以越來越偶爾多維數據集處理失誤,是清爽的是在同一時間發生的事情 - 由於計劃每小時進口。

我現在正在使用日誌來查看SSIS包正在運行。在導入活動時,我在該表中插入了一條記錄,並顯示「正在運行」狀態。

在處理多維數據集之前,我有一個信號量來檢查此表中是否有數據導入並具有「正在運行」狀態的記錄。如果當前沒有導入,我只允許刷新多維數據集。當多維數據集正在處理時,導入也會有信號量,並且不會開始導入,除非當前沒有多維數據集處理正在「正在運行」。

執行此邏輯後,處理多維數據集時我從來沒有收到任何錯誤。

1

處理多維數據集不會處理與其相關的維度,因爲它們在SSAS中構建爲單獨的實體。在實踐中,這意味着一個維度可以存在,被處理和訪問,而不會與多維數據集有關係。

有沒有這樣的事情作爲「一般構建命令來配置」。您應該決定如何處理AS對象。有很多工具可以幫助實現這一點,他們都會做同樣的事情:構建XMLA腳本以在AS服務器上運行。

  1. SSIS:Analysis Services處理任務
  2. 配置SQL代理作業。
  3. 使用SSMS執行手動過程。
  4. 使用AMO
  5. ...

重要計劃你的處理活動,是,你應該處理您的維度您處理多維數據集之前。一個簡單的解決方案是處理整個SSAS數據庫(包含您的立方體和尺寸)。這樣,SSAS將在處理立方體之前自動處理尺寸。

Documentation on processing Analysis Services objects

+0

我通過使用SSIS處理任務來繞過它,但認爲BIDS中的某些應該可以對其進行配置。 – Mez 2013-02-15 14:01:10