cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kleetus51 Member
Member

Add column based on a list from another table

I have two tables. Table 1 contains a list of keywords with the associated category. Table 2 contains a summary and description of work to be done. I want to calculate a column in Table 2 that will seach for values from the summary and description columns in Table 2 and then search the keywords column in Table 1 to see if any of the keywords are contained in the text. If found assign it the corresponding category for the keyword. If not, mark it Other.

 

Here is a simplified version of my data:

 

Table 1:

KeywordCategory
WIRINGNetwork
ROUTERNetwork
PCWorkstation
VMServer

 

Table 2: I'd like the results to populate in the Category column

SummaryDescriptionCategory
NETWORK CABLINGTHIS WORK IS TO REROUTE NETWORK WIRINGNetwork
ROUTER CONFIGTHIS IS TO CONFIGURE ROUTER 2Network
WORKSTATION REIMAGEREIMAGE BOB'S PCWorkstation
VM CONFIGURECONFIGURE VIRTUAL MACHINEServer
BATTERY REPLACEMENTREPLACE THE BATTERIES IN BOB'S MOUSEOther
1 ACCEPTED SOLUTION

Accepted Solutions
Super User III
Super User III

Re: Add column based on a list from another table

Hi @kleetus51

 

Try this for your calculated column:

 

Category = 
VAR _ResultCategory =
    CONCATENATEX (
        VALUES ( Table1[Keyword] );
        IF (
            (
                FIND ( Table1[Keyword]; Table2[Summary]; 1; 0 ) > 0
                    || FIND ( Table1[Keyword]; Table2[Description]; 1; 0 ) > 0
            );
            LOOKUPVALUE ( Table1[Category]; Table1[Keyword]; Table1[Keyword] )
        )
    )
RETURN
IF(LEN(_ResultCategory)=0;"Other";_ResultCategory)

 

Code formatted with   www.daxformatter.com

View solution in original post

2 REPLIES 2
Super User III
Super User III

Re: Add column based on a list from another table

Hi @kleetus51

 

Try this for your calculated column:

 

Category = 
VAR _ResultCategory =
    CONCATENATEX (
        VALUES ( Table1[Keyword] );
        IF (
            (
                FIND ( Table1[Keyword]; Table2[Summary]; 1; 0 ) > 0
                    || FIND ( Table1[Keyword]; Table2[Description]; 1; 0 ) > 0
            );
            LOOKUPVALUE ( Table1[Category]; Table1[Keyword]; Table1[Keyword] )
        )
    )
RETURN
IF(LEN(_ResultCategory)=0;"Other";_ResultCategory)

 

Code formatted with   www.daxformatter.com

View solution in original post

Highlighted
kleetus51 Member
Member

Re: Add column based on a list from another table

Works perfectly. Thanks!

Helpful resources

Announcements
Exclusive LIVE Community Event #3 – Ask Arun Anything

Exclusive LIVE Community Event #3 – Ask Arun Anything

Join us in the third Triple A event!

Meet the 2020 Season 1 Power BI Super Users!

Meet the 2020 Season 1 Power BI Super Users!

It’s the start of a new Super User season! Learn all about the new Super Users and brand-new tiered recognition system.

January 2020 Community Highlights

January 2020 Community Highlights

Make sure you didn't miss any of the things that happened in the community in January!

Top Solution Authors
Top Kudoed Authors