在 Power BI Desktop 中定义角色和规则

你可以在 Power BI Desktop 中定义角色和规则。 发布到 Power BI 时,它还会发布角色定义。

若要定义安全角色,请执行以下步骤。

  1. 将数据导入 Power BI Desktop 报表,或配置 DirectQuery 连接。

    备注

    不能在 Power BI Desktop 中为 Analysis Services 实时连接定义角色。 需要在 Analysis Services 模型中执行此操作。

  2. 选择“建模” 选项卡。

  3. 选择“管理角色” 。

  4. 选择“创建” 。

  5. 为角色提供名称。

  6. 选择你想要应用 DAX 规则的表。

  7. 输入 DAX 表达式。 此表达式应返回 true 或 false。 例如:[实体 ID] =“值”。

    备注

    可以在此表达式内使用 username() 。 请注意,username() 在 Power BI Desktop 中采用“域\用户名”格式 。 在 Power BI 服务和 Power BI 报表服务器中,采用用户的用户主体名称 (UPN) 格式。 或者,可以使用 userprincipalname(),它始终返回采用其用户主体名称格式 username@contoso.com 的用户 。

  8. 创建 DAX 表达式后,你可以选择表达式框上方的“检查”以验证该表达式。

    备注

    在此表达式框中,即使使用的区域设置通常使用分号分隔符(例如,法语或德语),也要使用逗号分隔 DAX 函数参数。

  9. 选择保存。

无法在 Power BI Desktop 中将用户分配到角色。 在 Power BI 服务中分配用户。 通过使用 username() 或 userprincipalname() DAX 函数并配置好正确的关系,则可以启用 Power BI Desktop 中的动态安全。

默认情况下,行级别安全性筛选采用单双向筛选器,无需考虑关系是设置为单向还是双向。 通过选择关系并勾选 “在两个方向上应用安全筛选器”复选框,可手动启用具有行级别安全性的双向交叉筛选器。 如果你还在服务器级别实现了动态行级别安全性,则应选中此框,其中行级别安全性基于用户名或登录 ID。

有关详细信息,请参阅在 Power BI Desktop 中使用 DirectQuery 的双向交叉筛选保护表格 BI 语义模型技术文章。

在 Power BI Desktop 中验证角色

创建角色后,请在 Power BI Desktop 中测试角色结果。

  1. 选择“以角色身份查看” 。

    在“以角色身份查看”中,可以看到创建的角色 。

  2. 选择创建的角色 >“确定”,应用该角色 。 报表呈现与该角色相关的数据。

  3. 你还可以选择其他用户,并提供给定用户 。 最好提供用户主体名称 (UPN),因为 Power BI 服务和 Power BI 报表服务器使用该名称。

  4. 选择“确定”,报表将基于该用户所见呈现内容 。

在 Power BI Desktop 中,如果使用的是基于 DAX 表达式的动态安全,“其他用户”仅显示不同的结果 。

管理模型上的安全性

若要管理数据模型上的安全性,你需要执行以下操作。

  1. 为数据集选择“省略号(...)” 。

  2. 选择“安全” 。

这将转到 RLS 页面,使你可以为 Power BI Desktop 中创建的角色添加成员。 只有数据集的所有者才能看到可用的安全性。 如果数据集在某个组中,则只有该组的管理员才能看到安全选项。

你只能创建或修改 Power BI Desktop 中的角色。

使用成员

添加成员

你可以通过键入邮件地址、用户姓名、你想要添加的安全组或通讯组列表,以向你的角色添加成员。 不能添加在 Power BI 内创建的组。 可将成员添加到组织的外部

你还可以通过角色名称或“成员”旁边的括号内的数字看到有多少成员属于该角色。

移除成员

你可以通过选择成员名称旁的 X 来移除成员。

验证 Power BI 服务中的角色

你可以通过测试角色来验证你定义的角色是否正常工作。

  1. 选择该角色旁边的“更多选项”(...) 。
  2. 选择“作为角色测试数据”

然后你会看到对该角色可用的报表。 仪表板不在此视图中显示。 在上面的蓝色栏中,你将看到被应用的内容。

可通过选择“立即以此角色查看” 来测试其他角色或角色组合。

可选择以特定人员的身份查看数据,或选择可用角色的组合以验证它们是否工作。

选择“返回到行级安全性” 以返回到正常查看。

使用 username() 或 userprincipalname() DAX 函数

可在数据集内利用 DAX 函数 username() 或 userprincipalname()。 可在 Power BI Desktop 中的表达式内使用它们。 将在 Power BI 服务内使用你发布的模型。

在 Power BI Desktop 中,username() 将返回采用域\用户 格式的用户,userprincipalname() 将返回采用 user@contoso.com 格式的用户。

在 Power BI 服务中,username() 和 userprincipalname() 都将返回用户的用户主体名称 (UPN)。 这看起来类似于电子邮件地址。

Power BI 行级别安全性 (RLS)的更多相关文章

  1. Power BI行级别安全性(数据权限管理)

    自从PowerBI 的DAX 函数 支持username() 或 userprincipalname()的函数后,我们就可以在Power BI中实现根据用户的行级数据权限的控制. username() ...

  2. Power BI 报表服务器中的行级别安全性 (RLS)

    在 Power BI Desktop 中定义角色和规则 你可以在 Power BI Desktop 中定义角色和规则. 发布到 Power BI 时,它还会发布角色定义. 若要定义安全角色,请执行以下 ...

  3. PowerBI开发 第十五篇:Power BI的行级安全

    Power BI支持行级安全(Row-Level Security,RLS)的权限控制,用于限制用户对Dashboard.报表和DataSet的访问.用户浏览的报表是相同的,但是看到的数据却是不同的. ...

  4. 数据可视化之分析篇(三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

  5. 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

  6. 观未见,行不止 —— Power BI 两周年技术和方案交流圆桌会议纪实

    作者:陈希章 发表于 2017年8月13日 2017年8月11日下午两点,Power BI 两周年技术和方案交流圆桌会议如期举行.线上和线下约有100位朋友参加了由我组织和主持的本次活动,在两个小时的 ...

  7. 微软Power BI 每月功能更新系列——9月Power BI 新功能学习

    Power BI Desktop 9月新功能摘要 Power BI 9月更新如期而至,这一次Power BI 又推出了新功能——聚合预览,它可在内存中无缝地存储汇总值,大大提高报告的性能.另外本月还包 ...

  8. Power BI入门教程

    题记:这篇文章不仅是Power BI的入门教程,同时相对于Qlik Sense进行了简单比较. 最近把一个Qlik Sense的示例应用手动转成了Power BI的应用,把相关步骤和遇到的问题记录如下 ...

  9. 2019 Power BI最Top50面试题,助你面试脱颖而出系列<中>

    敲黑板啦!!! 来来来 大家双眼看黑板 开始划重点啦 这篇大部分是"考试"必考题 你们一定要好好的牢记在心 一分都不要放过 刷题中... Power BI面试题目-DAX 9)什么 ...

随机推荐

  1. Java学习回顾总结

    java-01初识Java见上一篇 Java-02 1.命名规范与规范: 标识符命名规则:首字母为字母|下划线|$ 其余部分数字|字母|下划线|$ 命名规范: 变量属性方法命名规范:第一个单词首字母小 ...

  2. 之前有面试到两个日期的大小比较方式,现在整理一下几种方法。   例子:   String beginTime=new String("2017-06-09 10:22:22");     String endTime=new String("2017-05-08 11:22:22");  1  直接用Date自带方法before()和after()比较 SimpleDateFormat d

    各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的数据类型.下面列出了这些函数,它们都遵循一个公共的调用 ...

  3. 自动化测试 | 好用的自动化测试工具Top 10

    欲善其事必先利其器,本文从软件测试人员痛点出发,介绍如何先从工具选择上取得优势,在有限的时间内完成工作.经常有人在公众号留言或是后台咨询,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总 ...

  4. Android操作外置SD卡和U盘相关文章

    Android设备与外接U盘实现数据读取操作https://blog.csdn.net/true100/article/details/77775700 usbdisklibhttps://githu ...

  5. 【转载】网页JS获取当前地理位置(省市区)

    眼看2014又要过去了,翻翻今年的文章好像没有写几篇,忙真的或许已经不能成为借口了,在忙时间还是有的,就像海绵里的水挤挤总会有滴.真真的原因是没有学习过什么新的技术,工作过程中遇到的问题也不是非常难并 ...

  6. Spring-Kafka —— 实现批量消费和手动提交offset

    spring-kafka的官方文档介绍,可以知道自1.1版本之后, @KafkaListener开始支持批量消费,只需要设置batchListener参数为true 把application.yml中 ...

  7. Spring + MyBatis 框架下处理数据库异常

    一.概述 使用JDBC API时,很多操作都要声明抛出java.sql.SQLException异常,通常情况下是要制定异常处理策略.而Spring的JDBC模块为我们提供了一套异常处理机制,这套异常 ...

  8. Kubernetes架构

    一.Kubernetes 架构: Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. 1. Master 节点 Master 是 ...

  9. ParallelForTransform作业

    ParallelForTransform作业是另一种ParallelFor作业 ; 专为在变形上操作而设计. 注意:ParallelForTransform作业是Unity中用于实现IJobParal ...

  10. C#中的索引器(Indexers)

    前两天刚刚学习完了属性,这两天又搂完了索引器,发现两者非常的相似,但是相似之外还有一些不同之处.今天就来总结一下索引器--Indexers 索引器的作用及格式 索引器的作用就是能够使类或者结构体的实例 ...