2011-12-15 17 views
0

我實現了基於調用存儲過程的.NET程序集的SSAS維度安全性,將其設置爲允許的維度集,使用USER作爲表達式。使用SQL存儲過程的SSAS維度安全性不顯示所有數據

我在兩個維度上實現了這個安全性。

它像任務和項目

我有兩個事實表一個有關任務和其他相關項目

所有這將是簡單的,棘手的部分是,任務都與項目,任務維度與項目事實表相關,但並非所有項目都必須具有相關的任務。

任務也與項目有關,因此任務維度跨越項目事實表。

這一切都能正常工作,但是在測試時我注意到返回的數據並不是用戶應該有權訪問的所有數據,所以我構建了一個日誌表,記錄了.net程序集將返回的集合,正在訪問的用戶立方體和用戶有權訪問的成員數量。

我測試並正確日誌表寄存器:

  • 用戶行SET

  • 用戶A 103 {....}

但是隻有20行數據顯示。

當我刪除了MDX的所有行出現的NON EMPTY子句,但其中null

我挖了一點,發現該問題是在維渡事實表,值當我刪除了所提到的所有數據顯示的交叉點。

在此先感謝。 GabrielGuimarães

回答

0

聽起來就像所有東西都按設計的那樣工作......這是NON EMPTY的正確行爲......就像爲WHERE xxx IS NOT NULL添加過濾器一樣。

或者你是否應該在刪除NON EMPTY子句後看到空值的值?

+0

nope,我已經更新了這個問題,我發現這個錯誤與NON EMPTY子句無關。 – 2012-01-12 12:36:29

相關問題