Forum Discussion

koorosh's avatar
koorosh
Post Partisan
3 years ago
Solved

Junction table

Hi,
The tables in the attached file have the following relationships:
‘Users’[Useremail] one to many ‘Usersphoneumber’[Useremail]
‘Simcards’[Title] one to many ‘Usersphoneumber’[Title]
‘Simcards’[Title] one to many ‘Phones’[PhoneNumber]

 

I want a table visual including 3 columns from the Phones table (Phonenumber, Title, serialnumber) along with a slicer on the page including Useremail from the Users table so that this slicer can filter the table visual.

  • You can create a measure like

    Phone is visible = IF ( SELECTEDVALUE(Phones[PhoneNumber]) IN VALUES(UserPhoneNumber[PhoneNumber]), 1 )

    and use that as a visual level filter to only show when the value is 1.

     

6 Replies

  • You can create a measure like

    Phone is visible = IF ( SELECTEDVALUE(Phones[PhoneNumber]) IN VALUES(UserPhoneNumber[PhoneNumber]), 1 )

    and use that as a visual level filter to only show when the value is 1.

     

    • koorosh's avatar
      koorosh
      Post Partisan

      Thanks. But I can not understand. Could you please explain when the slicer includes email addresses from the 'users' table, what does SELECTEDVALUE(Phones[PhoneNumber]) select when we choose one email address in the slicer?
      Please check the attached image.

      • johnt75's avatar
        johnt75
        Super User

        When you put the phone number in a visual with this measure as a filter SELECTEDVALUE will refer to the phone number on the current row of the visual. The measure will then determine whether to show that row or not.

  • DemoFour's avatar
    DemoFour
    Continued Contributor

    koorosh 

    If you structure the model to have all information on the user, phone number and email in a table with a key, then this is your customer dimension.  Once you have this joined the the fact table about Phones, your output will work. 

    The relationship will be a 1 to Many with much more data and proper keys, as currently there is a 1 - 1 relationship with the source test data.  You will then be able to filter your fact by the dimension. 




     

    Your DAX will also be much simpler in writing with this type of model, other wise you are just building up technical debt! 

    • koorosh's avatar
      koorosh
      Post Partisan

      Hi DemoFour, Thank you for your comment please give me time to review it.