Forum Discussion
Adding Calculated Columns with data linked through 3 tables
- 6 years ago
See if this helps. Create the two columns in Request2 as below.
PrincipalSecurityName = VAR A = Request2[PrincipalSecurityUserId] VAR B = CALCULATE(MAX(SecurityUser[UserId]),FILTER(ALL(SecurityUser),SecurityUser[SecurityUserId]=A)) RETURN CALCULATE(MAX(User[FullName]),FILTER(ALL(User),User[UserId]=B))FulfillmentSecurityName = VAR A = Request2[FulfillmentSecurityUserId] VAR B = CALCULATE(MAX(SecurityUser[UserId]),FILTER(ALL(SecurityUser),SecurityUser[SecurityUserId]=A)) RETURN CALCULATE(MAX(User[FullName]),FILTER(ALL(User),User[UserId]=B))Based on the sample data, I got this output
Let us know.
Edit:
I am assuming the path is right
User[userid]-> securityuser(userid) and securityuser(securityuserid) ->Reqest2(principalsecurityuserid)
User[userid]-> securityuser(userid) and securityuser(securityuserid) ->Reqest2(Fullfilmentsecurityuserid)
VasTg Here are a couple of screenshots followed but a little bit of sample data. It's limiting how much I put in my reply so many of the table columns are deleted.
Table A to Table B
Table B to Table C
TABLE A (Request2)
| RequestNumber | PrincipalSecurityUserId | FulfillmentSecurityUserId |
| PRR1012 | 2 | 11 |
| PRR1013 | 13 | 13 |
| PRR1014 | 3 | 14 |
| PRR1022 | 13 | 13 |
| PRR1023 | 15 | 41 |
| PRR1024 | 15 | 41 |
| PRR1025 | 48 | 48 |
| PRR1026 | 13 | 42 |
| PRR1028 | 48 | |
| PRR1029 | 13 | 42 |
| PRR1030 | 13 | 13 |
TABLE B (SecurityUser)
| SecurityUserId | UserId | Department |
| 2 | 4 | Public Affairs |
| 3 | 5 | Salem - Agency Affairs |
| 13 | 26 | Salem - Agency Affairs |
| 15 | 29 | Salem - Agency Affairs |
| 48 | 73 | Human Resources |
TABLE C (User)
| UserId | FullName |
| 4 | Julie Waters |
| 5 | Bobbi Doan |
| 26 | Jim Gersbach |
| 29 | Jason Cox |
| 73 | Christy Oliver |
VasTg - I also want to add that I did NOT design or create these tables. I pull it from an existing DB and the original developer, for some reason, created multiple tables that easily could have been combined.
- VasTg6 years agoMemorable Member
I somehow missed your post shuffling around tabs in Chrome.Apologies for the delay.
Its really hard to understand from the picture. Somewhere it makes a circular reference when you try to define the relationship.
Could you post the table structure format of all the relationships with column names and filter direction format?
Table1,join_column in table1, Table2, join_column in table2,filter direction
If you go to manage relationships in model, it will give the info on first four.
Edit: Just the active ones. If it is not sensitive data, please attach the PBIT file.
- SandeA6 years agoHelper III
VasTg - I tried to move things around to make the data model easier to see the lines. I also deleted a couple of tables from the model that I realized I don't need. But I don't think it changed any of the active relationships.
- VasTg6 years agoMemorable Member
I went thru the datamodel and relationships. For you to bring in the User name from User(Table C) dimension to Request2(Table A), there is already a direct relationship exist. Simple you could create a calculated column as below. But it is not necessary to build a visual.
UserName = Related(User[FullName])Let us know if it didn't work.