Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

DAX statement does not see the table

Hi Guys ! 
I have got a simple problem, but for some reason under DAX it is not so simple.


I have got two tables:
i); all_ip_addresses,  ii); chosen_ip_addresses

ii); Chosen ip addresses contain two columns, the addresses and description for each.

In both cases I operate with String.

I was going to create a simple column with IF statement that will check if chosen ip's are contained within some of those in all_ip_addresses. If they are, print the description from ii); chosen_ip_addresses, else print ip address from all_ip_addresses. 
When I am trying to do that, DAX does not seem to see my chosen_ip_addresses table at all. 
The relationship between tables seem to be created correctly as when applying data to a simple table in visualization it seems to work.


Unfotunatelly the data is sensitive and I can not pass it over. I hope that I clearly explained it.
 

So the column would end up like :

 

Wanted_Output
__________________

1.1.1.1

2.2.2.2

chat_service

2.3.4.5

Antivirus

 

 

 

Thank you in Advance ! 

Kind Regards,
Bart

 

  • Mariusz's avatar
    Mariusz
    6 years ago

    Hi Anonymous 

     

    Try columns like below, this will check if there was any transaction in chosen_ip_addresses table related ( using active relationship ) to the table the column is in. 

     

    Column = 
    CALCULATE(
        COUNTROWS( chosen_ip_addresses ) > 0 
    )

     

    Best Regards,
    Mariusz

    If this post helps, then please consider Accepting it as the solution.

    Please feel free to connect with me.
    LinkedIn

     

     

  • Anonymous's avatar
    Anonymous
    6 years ago

    Ok Mariusz ! 

    I think I have figured it out.

    InfoColumn = if(CALCULATE(COUNTROWS(chosen_ip_addresses) > 0), RELATED(chosen_ip_addresses[Description]) , all_ip_addresses[Ip])

    This has solved my problem ! 
    Thank you for your time !! 

    Kind Regards,
    Bart

7 Replies

  • Mariusz's avatar
    Mariusz
    Icon for Community Champion rankCommunity Champion

    Hi Anonymous 

     

    Use RELATED or RELATEDTABLE functions when referring to another table.

     

     

    Best Regards,
    Mariusz

    If this post helps, then please consider Accepting it as the solution.

    Please feel free to connect with me.
    LinkedIn

     

    • Anonymous's avatar
      Anonymous
      Not applicable
      InfoColumn= IF(CONTAINS(RELATEDTABLE(chosen_ip_addresses),chosen_ip_addresses[Ip], all_ip_addresses[Ip]), chosen_ip_address[description], all_ip_addresses[Ip])


      I have tried that just before texting here, maybe I am just aproaching it incorrectly.
      Just at the end when I am trying to get the description, the DAX does not see that table/column, and I can not get that value.
      Does my example at the top makes some sence ? 

      I was kind of based from this :

      Column =
      IF (
          CONTAINS ( RELATEDTABLE ( Table2 ), Table2[Country of Origin], "CHILE" ),
          "CHILE",
          "OTHER COUNTRIES"
      )



      Thank you for you time and help.

      Kind Regards,
      Bart

      • Mariusz's avatar
        Mariusz
        Icon for Community Champion rankCommunity Champion

        Hi Anonymous 

         

        Try columns like below, this will check if there was any transaction in chosen_ip_addresses table related ( using active relationship ) to the table the column is in. 

         

        Column = 
        CALCULATE(
            COUNTROWS( chosen_ip_addresses ) > 0 
        )

         

        Best Regards,
        Mariusz

        If this post helps, then please consider Accepting it as the solution.

        Please feel free to connect with me.
        LinkedIn