0

我在 AX 的企业门户中使用 BISM 连接创建了一个 PowerView。该 PowerView 报告将被 100 多个用户使用。我希望每个用户在 PowerView 中查看他/她的数据,而不是查看完整的数据。一种选择是在 SSAS(多维)中创建 100 多个安全角色,这不是一个可行的选择。请指导我如何在 PowerView 中实现动态安全性,以便每个用户都能看到自己的视图。谢谢。

4

1 回答 1

0

Power View 不提供任何类型的安全性。您需要在 SSAS 中执行此操作,但您不需要 100 多个安全角色。您将需要研究动态安全性。要创建动态安全性,您需要某种方式将用户与他们应该看到的信息联系起来。这通常意味着将字段添加到现有表或创建新表。

如果所有用户都受到相同属性的保护,则他们可以包含在一个角色中。如果某些用户基于一个属性而其他用户基于另一个属性得到保护,那么您可能需要多个角色。

这可能是如何工作的。

  1. 创建一个表,其中包含需要访问您的多维数据集的所有用户。
  2. 创建一个桥接表,将用户与您保护其访问权限的属性联系起来。例如,也许用户只能看到某些产品,所以您有一个用户 ID 和产品 ID 表。
  3. 将这些表添加到您的 DSV。
  4. 创建用户维度。
  5. 根据您的安全桥表创建度量值组
  6. 为此用户类型创建一个角色并将 MDX 语句添加到允许的成员集。此外,设置启用视觉总计复选框。
    1. 填充角色的成员,如果您有 100 多个用户,最好通过 AD 组而不是单独填充。

您允许的成员集看起来像

   Exists(
    {[Product].[Product ID].members},
    STRTOSET("[Users].[UserName].[UserName].&[" + Username() + "]"), 
    "Bridge User Product"
    )

您可以在此处找到一篇不错的博客文章和一段关于 SSAS 安全性的精彩视频动态安全性在 35 分钟左右开始)。

于 2016-10-10T19:48:03.673 回答