2013-08-05 70 views
0

我已經創建了XMLA以增量方式處理多維數據集。它使用維度類型「ProcessUpdate」和度量分區使用「ProcessAdd」。我面臨着一個獨特的問題。讓我舉一個例子:SSAS增量多維數據集處理顯示錯誤的不同計數

Order Id CustId Amount 

1  C1 100.00 

2  C2 200.00 

3  C3 300.00 

4  C4 400.00 

5  C5 500.00 

如果我們瀏覽立方體,SSAS顯示訂單的總和爲1500.00,和不同的客戶數量爲所有訂單爲5.現在增加新的事實記錄取消一個訂單, 如:

Order Id CustId Amount 

3  C3 -300.00 

增量處理後,它顯示訂單總數爲1200.00,這是正確的。但所有訂單的不同客戶數保持不變,並顯示5不正確。 我可以理解,這些行正在增量進程上追加,用於求和操作,但無法計算不同的計數。我想知道是否有任何方法可以在以增量方式處理時從所有集合操作中移除訂單#3。

回答

1

不同的客戶數量保持在五是正確的,因爲它不知道減去300意味着客戶不應該顯示。如果你完全處理了魔方,它會顯示爲5個不同的客戶。

這與增量處理無關,這與SSAS如何處理不同的計數有關 - 它只是「計算不同的客戶ID」在事實表中,而C3有兩次出售300和銷售-300。

您需要重新考慮如何處理此問題,理想情況下是在加載數據倉庫的階段。你可以在MDX中處理它,不包括銷售額爲零或更少的任何人,但是整個不同的計數計算將在MDX中完成,並且會慢得多。

+0

其實我是從主數據源中刪除條目,因此在處理完整立方體時,它會顯示正確的不同計數爲4.我正在維護增量源僅用於增量處理。我正在尋找在處理聚合之前從增量流程中刪除SSAS實際條目的方法。是否有任何不同的方式來維護Delta源以刪除現有的事實條目?我同意你說的,在MDX中處理需要很長時間。 – user2652816

+0

@ user2652816 - 對不起,你是說你要刪除C3行嗎?你上面的例子看起來像你正在爲C3增加一個新的行,數量爲-300?在增量加載期間無法刪除事實行 - 您需要完全處理受影響的分區。 – Meff

+0

由於數據庫龐大,整個過程需要7到8個小時,每個月增加1個小時。無論如何,我必須尋找增量處理。如果無法忽略現有的事實條目,那麼這是在不同計數環境下增量處理的嚴重限制。 – user2652816