Forum Discussion

Lebunim's avatar
Lebunim
Regular Visitor
4 years ago
Solved

Count Keywords in Summary Column from another table

Hi Guys, 

I tried to find solution in the Forum but failed each and everytime. 

I'm actually looking for a simple thing, I have two tables :

1. Keywords

2. Incidents

 

I want to know how many times Keywords from Keywords Table occure in the Incidents Summary column. 

I just need a count. In Excel COUNTIF worked perfect but I wanted to extend that functionality into PBI.

 

Can You please help me created a formula for Count of Word Appearance column in Table 1? 

 

Table 1 - Keywords Table 2 - Incidents
KeywordsCount of word appearance  Summary
issue 2 The phone has an issue with application 
down 0 more text with issues
is down 0 each ticket has summary with outage description 
has problem 1 outlining the problem 
outage 1 and the so on….
application 1  
server 0  
phone1  

 

 

Can You please help me created a formula for Count of Word Appearance column in Table 1?

 

Many thanks, 

 

  • Hi Lebunim ,

     

    You can try use substitute() to replace the word in this summary string to null. Then calculate the reduced number of characters, finally divide it by the length of keyword.

    Modify the measure to suit your mode.

    count word =
    VAR _text =
        FIRSTNONBLANK ( 'Table 2 - Incidents'[text], 1 )
    VAR _len_text =
        LEN ( _text )
    VAR _len_key =
        LEN ( [Keywords] )
    VAR _substitute =
        LEN ( SUBSTITUTE ( _text, [Keywords], "" ) )
    RETURN
        DIVIDE ( _len_text - _substitute, _len_key )
    

     

    Result: 

    Pbix in the end you can refer.

    Best Regards

    Community Support Team _ chenwu zhu

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • Samarth_18's avatar
    Samarth_18
    Community Champion

    Hi Lebunim ,

     

    Create a measure like below:-

    Count of word appearance =
    COUNTROWS (
        FILTER (
            _Incidents,
            CONTAINSSTRING ( _Incidents[Summary], MAX ( _Keyword[Keywords] ) )
        )
    ) + 0

    Output:-

     

     

    Thanks,

    Samarth

    • Lebunim's avatar
      Lebunim
      Regular Visitor

      What does the MAX represent in above example. I'm getting some values but not exactly as I would expect it. 

      This measure returns rows with "exact" match of the Keyword, it does not identify a keyword in between other text..... 

      Example 1 : would count "application"

      Example 2 : would not count " my new application is down" 

       

      I'm not sure why but it seems the above measure counts rows with exact match of the keyword, anything with additional text is being skipped....

       

      Any ideas?

  • create calculated column 

    Match = 
    var _cname = 'Table'[Customer Name]
    var _iname = 'Table'[Invoice Customer]
    var _firstname = LEFT(_cname,SEARCH(" ",_cname)-1)
    var _lastname = MID(_cname,SEARCH(" ",_cname)+1,LEN(_cname))
    return
    IF(
        EXACT([Customer Name],[Invoice Customer]),
        "Match",
        IF(
               NOT(CONTAINSSTRING(_iname,_firstname))&&NOT(CONTAINSSTRING(_iname,_lastname)),
               "Not Match",
               IF(
                   CONTAINSSTRING(_iname,_firstname)||CONTAINSSTRING(_iname,_lastname),
                   "Partial Match"
               )
        )
    )

    And modify with your requirements

  • v-chenwuz-msft's avatar
    v-chenwuz-msft
    Community Support

    Hi Lebunim ,

     

    You can try use substitute() to replace the word in this summary string to null. Then calculate the reduced number of characters, finally divide it by the length of keyword.

    Modify the measure to suit your mode.

    count word =
    VAR _text =
        FIRSTNONBLANK ( 'Table 2 - Incidents'[text], 1 )
    VAR _len_text =
        LEN ( _text )
    VAR _len_key =
        LEN ( [Keywords] )
    VAR _substitute =
        LEN ( SUBSTITUTE ( _text, [Keywords], "" ) )
    RETURN
        DIVIDE ( _len_text - _substitute, _len_key )
    

     

    Result: 

    Pbix in the end you can refer.

    Best Regards

    Community Support Team _ chenwu zhu

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.