【发布时间】:2016-09-26 12:38:13
【问题描述】:
设置多维数据集后,我被要求使用用户表和他们可以看到的数据添加动态安全性。
问题是我必须考虑 3 个不同的维度。 我决定在 count 上使用带有 noneEmpty 函数的事实表。
NonEmpty([Dimension].[Hierarchy].members,
([Measures].[Allowed Count],
[Users].[User].&[UserName]
)
)
设置角色后,我得到如下结果:
Dim1 |暗淡2 |昏暗3
1 |一个 | 300
1 |一个 | 320
1 |一个 | 340
1 |乙| 300
1 |乙| 320
1 |乙| 340
它应该在哪里:
Dim1 |暗淡2 |昏暗3
1 |一个 | 300
1 |一个 | 320
1 |乙| 340
允许用户访问的数据存储在类似的表中
用户名 | Dim1Key | Dim2Key |调暗键
层次结构就像 每个 Dim1 包含每种类型的 Dim2,又包含每种类型的 Dim3。
并且用户只能访问 Dim1 中 Dim2 中的 Dim3 的给定成员。
有没有办法在 MDX 中连接这个维度,所以每个 Dim 最终只有其各自的值
更新:
经过一些研究,我得到了这个查询:
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]
这给了我想要的结果,但我无法将其放入角色中的维度数据中。有没有办法改变它?
【问题讨论】:
标签: security dynamic ssas mdx olap