DAX SUMMARIZE 函数不考虑我的 Power BI 模型中基于行的安全性

DAX SUMMARIZE function isn't respecting row-based security in my Power BI Model

我正在向 Power BI 模型添加行级安全性,它在所有正常的 table 上工作,但是有一个 DAX table 从忽略安全性的 SUMMARIZE 创建。我已经创建了一个重现问题的小模型 - 我在这里做错了什么,还是这种行为是故意的?

这是我的数据模型 - "Raw Table" 只是一个手册 table,里面有一些数字和一个过滤列:

"DAX Table" 是使用 SUMMARIZE 语句创建的,该语句只是使其成为手册 table 的副本(因为无论如何每一行都是唯一的):

DAX Table = SUMMARIZE('Raw Table', 'Raw Table'[Number], 'Raw Table'[Filter])

以下是未过滤任何内容时 table 的内容:

我添加了行级安全性,可将过滤器 table 过滤到仅 "Show" 记录:

并且通过连接,这似乎可以正常过滤 Raw table - 启用后,我只能看到其中包含 "Show" 的行(如预期的那样)。但是,DAX table 继续显示所有内容,甚至是我不应该看到的过滤行:

我在这里做错了什么?由于我不允许(通过 RLS)在原始 table 中看到标记为 "Hide" 的行,难道不应该从 SUMMARIZE 语句中排除这些行吗?我意识到在 Filter table 上添加切片器并切片 Raw table 不会影响 SUMMARIZE 语句(在那种情况下我仍然看到所有行) - 我只是在这里看到同样的事情?由于基于安全设置我无法看到这些行,因此我希望它们也从我的 DAX 中隐藏。

假设我这样做是正确的并且这是有意的,那么我如何创建一个尊重我的安全过滤器的 DAX table(因为我需要在我的完整模型中这样做)?

Here's a link to the testing PBIX file as well.

计算表(和列)在模型加载和具体化时进行计算。不是在运行时。

您需要将 table 连接到您的模型,以便安全性也在那里传播。