Powerbi 如何为RLS创建Dax?

Powerbi 如何为RLS创建Dax?,powerbi,Powerbi,我有一个名为company ID的列,其中包含不同公司的不同员工,我需要一个DAX查询,该查询将向company ID提供数据a/Q,假设一家公司里有3名员工,他们每个人都有一个公司ID 1,那么他们应该能够看到彼此的报告,但是他们不能看到comanyid 2和3的报告,这是如何实现的 我知道我可以通过为每个公司ID创建不同的角色来实现这一点,但是如果我想在一个特定的角色中构建它,那么如何实现这一点呢?您要求的是实现动态行级安全性 型号: 用户表:包含用户详细信息以及我们将应用安全性的字段(此

我有一个名为company ID的列,其中包含不同公司的不同员工,我需要一个DAX查询,该查询将向company ID提供数据a/Q,假设一家公司里有3名员工,他们每个人都有一个公司ID 1,那么他们应该能够看到彼此的报告,但是他们不能看到comanyid 2和3的报告,这是如何实现的


我知道我可以通过为每个公司ID创建不同的角色来实现这一点,但是如果我想在一个特定的角色中构建它,那么如何实现这一点呢?

您要求的是实现动态行级安全性

型号:

用户表:包含用户详细信息以及我们将应用安全性的字段(此处为电子邮件字段)的表

公司表:包含公司数据的表

用户-公司桥接:包含权限详细信息的桥接表,例如用户x是公司y和z的成员

公司数据表:要过滤的公司的度量或交易信息

定义RLS(行级安全):

在建模->管理角色中,通过此DAX查询在用户表的电子邮件上创建一个新角色,该查询返回登录用户的电子邮件id

[Email] = userprincipalname()
定稿:

转到PowerBI服务->数据集->安全,将用户添加到创建的角色中

要测试实现,请执行以下操作:

  • 转到pbix文件的“建模”选项卡
  • 单击查看为角色
  • 选中“其他用户”复选框,输入电子邮件ID,并检查配置文件 复选框。 现在您可以看到已过滤的数据

  • 通过这种方式,只需修改存储所有权限详细信息的桥接表,即可轻松维护角色和安全性。

    您要求的是实现动态行级安全性

    型号:

    用户表:包含用户详细信息以及我们将应用安全性的字段(此处为电子邮件字段)的表

    公司表:包含公司数据的表

    用户-公司桥接:包含权限详细信息的桥接表,例如用户x是公司y和z的成员

    公司数据表:要过滤的公司的度量或交易信息

    定义RLS(行级安全):

    在建模->管理角色中,通过此DAX查询在用户表的电子邮件上创建一个新角色,该查询返回登录用户的电子邮件id

    [Email] = userprincipalname()
    
    定稿:

    转到PowerBI服务->数据集->安全,将用户添加到创建的角色中

    要测试实现,请执行以下操作:

  • 转到pbix文件的“建模”选项卡
  • 单击查看为角色
  • 选中“其他用户”复选框,输入电子邮件ID,并检查配置文件 复选框。 现在您可以看到已过滤的数据

  • 通过这种方式,只需修改存储所有权限详细信息的桥接表,即可轻松维护角色和安全性。

    您想要行级安全性,但不愿意创建多个角色?我想要RLS,这样我就可以将数据A/Q过滤到公司id,我的所有列都在一个表中。你想要行级别的安全性,但不愿意扮演多个角色?我想要RLS,因此,我可以将数据A/Q过滤到公司id,我的所有列都在一个表中。我们需要根据公司id的基本信息进行过滤,因为拥有公司id 1001的用户可以查看1001个用户的所有数据,公司id 1002可以查看1002个用户的详细信息,我如何才能实现这种情景?您可以将要筛选的用户数据保存在上述答案的“公司数据”表中。如果用户只能访问一家公司(即其当前公司)的用户数据然后,您可以删除桥接表并将公司ID添加到用户表中以加入。我希望属于1001 company ID的所有用户都可以看到彼此的数据,但属于1002 companyid的用户看不到1001公司的详细信息如何实现这一点?我们需要根据公司ID的基本信息进行筛选,因为用户拥有companyid 1001可以查看1001个用户的所有数据,公司id 1002可以查看1002个用户的详细信息,我如何才能实现这种场景?您可以将要筛选的用户数据保留在上述答案的“公司数据”表中。如果一个用户只能访问一个公司(即他现在的公司)的用户数据,那么您可以删除桥接表,并将公司ID添加到用户表中以供加入。我希望属于1001 comapny ID的所有用户都可以看到彼此的数据,但属于1002 comapnyid的用户看不到1001公司的详细信息如何实现这一点??