首页 > 解决方案 > 在 Power BI 中使用 USERNAME() 测量 if 条件

问题描述

我有一个特定的要求,我想在 IF 语句中使用 Power BI 中可用的 USERNAME() 函数,当我使用它时,我得到以下错误:

CUSTOMDATA, USERNAME, USERCULTURE and USERPRINCIPALNAME functions are not supported in calculated tables/columns. These functions may only be used in Measures or in the AllowedRowsExpression.

我知道我们可以创建一个度量为 MeasureXYZ=USERNAME(),我的要求是在 IF 条件下使用这个 USERNAME() 值。

似乎是产品限制,除了 USERNAME()、USERPRINCIPALNAME 等,我们还有其他方法可以获取用户名吗?

标签: powerbi

解决方案


这不是问题IF

如错误消息所示,您不能在计算列或计算表中使用USERNAME或。USERPRINCIPALNAME这与您无法在计算的列/表中引用切片器选择的原因相同。即,模型在加载数据时计算一次,而不是每次更改切片器或访问新用户时计算一次。

也就是说,度量值与过滤器和用户名配合得很好,并且用户名函数可以通过Row-level security (RLS)用作模型上的过滤器。如果您尝试做的事情无法通过措施或 RLS 实现,我会感到惊讶。


推荐阅读