发布
社区首页 >问答首页 >将DAX转换为MDX

将DAX转换为MDX
EN

Stack Overflow用户
提问于 2021-04-20 19:57:55
回答 1查看 47关注 0票数 0

我将在我的模型中实现动态行级安全性。

如果登录用户存在于我的维度中,则他只能看到自己的数据,如果用户不存在于我的维度中,则他可以看到所有内容。

在SSAS表格中工作完美。

来自我的SSAS表格模型的DAX代码,该模型在维度DimBrugerRettigheder -> DAX上的角色->行过滤器中实现:

=IF(包含(DimBrugerRettigheder,original_login,USERNAME()),DimBrugerRettighederoriginal_login = USERNAME(),TRUE())

多维数据模型几乎与我的表格模型相同。

只需要在MDX中翻译代码

MDX代码将在角色->维数据->维DimBrugerRettigheder ->高级->允许的成员集中实现:->编辑MDX

EN

回答 1

Stack Overflow用户

发布于 2021-04-27 00:24:47

我理解您的代码的含义是“如果当前用户的名称不包含在column (在DAX中,在MDX中这将是属性) 'original_login‘中,则授予对所有行的访问权限,否则,仅授予对列/属性具有用户名作为其内容的行的访问权限。

我将其转换为MDX,如下所示:

代码语言:javascript
代码运行次数:0
复制
IIf(IsError(StrToMember('[DimBrugerRettigheder].[original_login].[' + UserName + ']')),
    [DimBrugerRettigheder].[original_login].[original_login].Members,
    {StrToMember('[DimBrugerRettigheder].[original_login].[' + UserName + ']')}
   )

本质上,如果属性[DimBrugerRettigheder].[original_login]中没有当前成员的有效成员,则所有成员都是允许的成员集,否则,仅此单个成员是允许的成员集的唯一成员。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67178481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档