SSAS 表格 - 通过从 Rest API 读取安全权利来应用行级过滤
Posted
技术标签:
【中文标题】SSAS 表格 - 通过从 Rest API 读取安全权利来应用行级过滤【英文标题】:SSAS Tabular - Apply row level filtering by reading security entitlements from Rest API 【发布时间】:2018-12-08 05:54:45 【问题描述】:在我们的组织中,用户的身份验证和授权信息由一个团队管理。可以通过该团队提供的某些 Rest API 读取用户的身份验证信息。
我们的业务数据在 SSAS 表格中进行管理,业务用户可以通过多个客户端(如 Power BI、s-s-rS、Excel、Rest API 等)连接到 SSAS 表格。我们需要对我们的业务数据提供行级过滤,其中的权利应该是与 Rest API 返回的数据相匹配。
我不想在 SSAS 中缓存安全数据,但想在运行时应用过滤。使用 MDX,这似乎可以通过使用 MDX 存储过程来实现。 DAX 似乎不提供任何存储过程功能。
有人可以建议这个问题的可能解决方案是什么吗?
谢谢
【问题讨论】:
【参考方案1】:目前不支持在运行时应用来自外部来源的安全数据的方法。理论上,如果你的 Tabular 模型使用 DirectQuery 可以做到,但性能可能会受到很大影响。
这意味着你有两个选择:
在表格模型的表格中缓存安全数据,您可以根据需要经常从 API 刷新(例如每 5 分钟一次) 使用 TOM 根据从 REST API 返回的数据动态更改安全角色的角色成员。您需要一份可以根据需要经常执行此操作的外部工作。【讨论】:
谢谢丹。我想除非我找到其他更好的选择,否则我会退回到缓存安全数据。以上是关于SSAS 表格 - 通过从 Rest API 读取安全权利来应用行级过滤的主要内容,如果未能解决你的问题,请参考以下文章