PowerBI针对两列查找相同的值

PowerBI针对两列查找相同的值,powerbi,dax,Powerbi,Dax,我想在图表轴上显示用户名。 例如,我有一个使用相同外键两次的表 Users ========== Id Name ---------- 1 Dave 2 Jane 3 Elliot Tasks ========= Id Name ActionUserId CheckUserId 1 Job 1 1 2 2 Job 2 2 3 3 Job 3 1 3 数据库中没有定义外键(不要问

我想在图表轴上显示用户名。 例如,我有一个使用相同外键两次的表

Users
==========
Id  Name
----------
1   Dave
2   Jane
3   Elliot


Tasks
=========
Id Name   ActionUserId   CheckUserId
1  Job 1  1              2
2  Job 2  2              3 
3  Job 3  1              3
数据库中没有定义外键(不要问!!),这些外键都必须在PowerBI中创建

我无法同时提取这两个关系,因为
UserId
已针对另一个表处于活动状态

我已经为一个
ActionUserId
using添加了一个计算列

ActionUsername = CALCULATE(
    CALCULATE(
        VALUES(Users[Name]), Tasks
    ),
    USERELATIONSHIP(Users[Id], Tasks[ActionUserId]),
    ALL(Users)
)
我尝试再次为
CheckUserId
执行相同的操作,但我得到了一个循环依赖错误

CheckUsername = CALCULATE(
    CALCULATE(
        VALUES(Users[Name]), Tasks
    ),
    USERELATIONSHIP(Users[Id], Tasks[CheckUserId]),
    ALL(Users)
)

如何获取每个
UserId
字段的用户名?

一个选项是以别名(操作用户、检查用户等)多次导入用户表


这样做的好处是,您还可以独立于“检查用户”表过滤“操作用户”表。

循环错误是因为在编写
ALL(Users)
时,这些列相互依赖

在这种情况下,我会使用一种更简单的查找方法:

ActionUsername = LOOKUPVALUE ( Users[Name], Users[Id], Tasks[ActionUserId] )
CheckUsername  = LOOKUPVALUE ( Users[Name], Users[Id], Tasks[CheckUserId]  )