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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.