Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
DerMoe
Frequent Visitor

Join a table several times

Hi Gyus,

 

I think I'm not the first with such a question but I could not find a suitable post!

 

I have a table with all users incl. information which is similar to this:

UserNameUser ID
Maike1
Susi2


Now I have a table where I have to reference the user more times:

ObjectCalledByCanceldByStartedByTestedBy
A1122
B2121

 

However, I can only create a reference once, because the second time I can only create an inactive reference to user table.

Is there now a "smart" solution for this problem or do I have to create a separate user table for each column where I need a user.

 

Thank you very much!

Greetings

 

1 ACCEPTED SOLUTION
jdbuchanan71
Super User
Super User

@DerMoe 

You have two options.  The first is to create the multiple relationships and activate them in your measures.  Lets say the active relation is between Table1[User ID] and Table2[CalledBy]. 

You have a measure that counts the Called By like this.

Called By = COUNTROWS ( Table2 )

Then we can also use that to count the other versions by activating an inactive link using USERELATIONSHIP

Canceled By = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[CanceledBy] ) )
StartedBy = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[StartedBy] ) )
Tested By = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[TestedBy] ) )

Each of the measures identifies the inactive relationship to turn on to do the calculation.

The other option would be to unpivot your columns so table 2 ends up looking like this:

Object Type  User ID
A CalledBy 1
A CanceldBy 1
A StartedBy 2
A TestedBy 2
B CalledBy 2
B CanceldBy 1
B StartedBy 2
B TestedBy 1

View solution in original post

1 REPLY 1
jdbuchanan71
Super User
Super User

@DerMoe 

You have two options.  The first is to create the multiple relationships and activate them in your measures.  Lets say the active relation is between Table1[User ID] and Table2[CalledBy]. 

You have a measure that counts the Called By like this.

Called By = COUNTROWS ( Table2 )

Then we can also use that to count the other versions by activating an inactive link using USERELATIONSHIP

Canceled By = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[CanceledBy] ) )
StartedBy = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[StartedBy] ) )
Tested By = CALCULATE ( [Called By], USERELATIONSHIP ( Table1[User ID], Table2[TestedBy] ) )

Each of the measures identifies the inactive relationship to turn on to do the calculation.

The other option would be to unpivot your columns so table 2 ends up looking like this:

Object Type  User ID
A CalledBy 1
A CanceldBy 1
A StartedBy 2
A TestedBy 2
B CalledBy 2
B CanceldBy 1
B StartedBy 2
B TestedBy 1

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.