使用USERNAME()测量Power BI中的if条件

时间:2020-04-21 18:07:55

标签: powerbi

我有一个特定的要求,我想在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等以外,我们还有其他方法来获取用户名吗?

2 个答案:

答案 0 :(得分:1)

这不是IF的问题。

如错误消息所示,您不能在计算列或计算表中使用USERNAMEUSERPRINCIPALNAME。出于同样的原因,您无法在计算出的列/表中引用切片器选择。也就是说,模型是在加载数据时计算一次,而不是每次您更改切片器或与新用户一起访问时都计算一次。

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

答案 1 :(得分:0)

如果您想使用一种措施,这对我有用

当前用户= if(USERNAME()=“域\用户”,“它是我”,“它不是我”)

Obv需要交换您的域名和用户名