为了能够为每个用户提供访问级别,我执行了以下操作。 我有一个主数据库,其中有买家和卖家、交易量、交易价值等列...
现在我希望每个用户都能看到特定的买家。 为此,我创建了一个包含两列 User 和 Buyer name 的数据库 我将这两个数据库与买家栏连接起来,并将条件写入角色内,它起作用了。
[user]=USERNAME()
问题是,我的经理要求我添加一个新条件,即每个用户都可以看到买家或卖家的客户。
这意味着需要两列。 考虑到我的两张桌子是和买家相连的,我不知道如何解决这个问题。 其实我想让用户1看到买家或卖家是A、B的所有行。(两列上的命令条件)
而且我需要说的是,买方和卖方列的唯一值是相同的。 (我们一共有112位客户,既可以是买家也可以是卖家)
您没有分享您的模型,因此我假设您有 2 个表,第一个用于用户访问和买家喜欢的交易。 您可以创建一个 CC 表,其中包含每个用户所有可能的买家和卖家组合:
UserBuyerSellerAccess =
UNION (
SELECTCOLUMNS (
UserAccess,
"User", UserAccess[User],
"Customer", UserAccess[Buyer]
),
SELECTCOLUMNS (
Transactions,
"User", UserAccess[User],
"Customer", Transactions[Seller]
)
)
然后就可以修改角色定义的过滤条件了:
[User] = USERNAME() && (
RELATED(UserBuyerSellerAccess[Customer]) = Transactions[Buyer] ||
RELATED(UserBuyerSellerAccess[Customer]) = Transactions[Seller]
)