設置多維數據集後,我被要求使用用戶和他們可以看到的數據表添加動態安全性。SSAS OLAP多維數據集動態安全性。許多維度在一個角色
問題是我必須考慮3個不同的維度。 我決定使用事實表與noneEmpty函數計數。
NonEmpty([Dimension].[Hierarchy].members,
([Measures].[Allowed Count],
[Users].[User].&[UserName]
)
)
設置角色後,我已經有了喜歡的結果:
DIM1 | Dim2 | Dim3
1 | A | 300
1 | A | 320
1 | A | 340
1 | B | 300
1 | B | 320
1 | B | 340
它應該是:
Dim1 | Dim2 | Dim3
1 | A | 300
1 | A | 320
1 | B | 340
用於允許用戶訪問的數據存儲在表等
用戶名| Dim1Key | Dim2Key | Dim3Key
層次結構就像 每個Dim1包含每種類型的Dim2,其中包含每種類型的Dim3。
用戶只能在Dim1中訪問Dim2中的Dim3的給定成員。
有沒有這方面的MDX所以每個昏暗的一端連接的方式只是其各自的值
UPDATE:
經過一番研究,我已經有了這個查詢:
SELECT [Measures].[CC Count] ON 0,
NonEmpty(
(
NonEmpty((Dim1.children),
([Measures].[CC Count],
[Users].[User].&[userName]
))
,
NonEmpty((Dim2.children),
([Measures].[CC Count],
[Users].[User].&[userName]
)),
NonEmpty((Dim3.children),
([Measures].[CC Count],
[Users].[User].&[userName]
))
)
,([Measures].[CC Count],
[Users].[User].&[userName]
))
ON 1
FROM [Cost Center]
這給了我想要的結果,但我無法將它放入角色中的Dimensiom數據。有沒有辦法改變它?
感謝您的回覆。我正在實施你的想法,並有一個問題。這個新維度應該建立在安全表或主事實表的基礎上? – Zergister
@Zergister嗯。如果它建立在所有3個鍵的交叉連接上,它會太大嗎?如果沒有,那就這樣做。如果是這樣,你將需要至少存在於任何事實表中的任何組合。 – GregGalloway
那麼我只是得出了相同的結論:D – Zergister