我正在将动态安全性应用于教育环境中的 SQL Server 表格模型。我有一个安全表,其中包含用户 ID 和用户应该有权访问的相关学校。如果用户有一所学校,我的 DAX 过滤器可以正常工作,但是对于拥有不止一所学校的用户,我收到一个多值错误(“提供了一个包含多个值的表,其中需要一个值。”)。我的LOOKUPVALUE()
函数导致了这个问题,我基本上是在尝试确定如何创建一个循环来比较每个用户的Enrollment[SchoolKey]
每个SecurityTable[SchoolKey]
值。任何想法都非常感谢!
=
CONTAINS (
'Enrollment',
'Enrollment'[StudentKey], Student[StudentKey],
'Enrollment'[SchoolKey], LOOKUPVALUE (
SecurityTable[SchoolKey],
SecurityTable[UserId], USERNAME ()
)
)