Forum Discussion

Arnoh's avatar
Arnoh
Helper III
5 years ago
Solved

dax search function based on multiple values from other table

Hello,

 

I have created the following colum. 

But i would like to replace the search values by a table i have in my model.

 

 

soort klus dash = 
var mutatie  = if(SEARCH("mutatie",Werken_klussen[soort klus],,BLANK())<>BLANK(),1)
var renovatie = if(SEARCH("renovatie",Werken_klussen[soort klus],,BLANK())<>BLANK(),2)
var reparatie = if(SEARCH("reparatie",Werken_klussen[soort klus],,BLANK())+
                 SEARCH("klachtenonderhoud",Werken_klussen[soort klus],,BLANK())+
                 SEARCH("klachtonderhoud",Werken_klussen[soort klus],,BLANK())+
                 SEARCH("dagelijks",Werken_klussen[soort klus],,BLANK())
                <>BLANK(),3)

return
if(mutatie=1,1,
if(renovatie=2,2,
if(reparatie=3,3,
)))

 

 

 

The table look like

 

typedescription searach value
mutatiemutatie
reparatiereparatie
reparatieklachtenonderhoud
reparatieklachtonderhoud
reparatiedagelijks
renovatierenovatie

 

Thanx for any help.

 

Greetings

  • Arnoh's avatar
    Arnoh
    5 years ago

    Hi Anonymous,

     

    i think i have the solution.

     

    Thanx for helping.

     

    soort klus dash = 
    var mutatie  = CONCATENATEX(FILTER(Onderhouds_monitor_soort_klus,Onderhouds_monitor_soort_klus[soort klus]="mutatie"),
                    if(SEARCH(FIRSTNONBLANK(Onderhouds_monitor_soort_klus[omschrijving],1),Werken_klussen[soort klus],,BLANK())<>BLANK(),1))
    var renovatie = CONCATENATEX(FILTER(Onderhouds_monitor_soort_klus,Onderhouds_monitor_soort_klus[soort klus]="renovatie"),
                    if(SEARCH(FIRSTNONBLANK(Onderhouds_monitor_soort_klus[omschrijving],1),Werken_klussen[soort klus],,BLANK())<>BLANK(),2))
    var reparatie = CONCATENATEX(FILTER(Onderhouds_monitor_soort_klus,Onderhouds_monitor_soort_klus[soort klus]="reparatie"),
                    if(SEARCH(FIRSTNONBLANK(Onderhouds_monitor_soort_klus[omschrijving],1),Werken_klussen[soort klus],,BLANK())<>BLANK(),3))
    var storingsdienst = CONCATENATEX(FILTER(Onderhouds_monitor_soort_klus,Onderhouds_monitor_soort_klus[soort klus]="storingsdienst"),
                    if(SEARCH(FIRSTNONBLANK(Onderhouds_monitor_soort_klus[omschrijving],1),Werken_klussen[soort klus],,BLANK())<>BLANK(),4))
    return

6 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Arnoh 

     

    What do you mean by replace it by a table? you have more than the search word in your original column, right? Can you use Power Query to add this column or just DAX?

     

    Add this column using Text.Contains in M or Search in DAX, to put the same value in this column, then build a relationship between these two columns

    description searach value
    • Arnoh's avatar
      Arnoh
      Helper III

      Hi Anonymous,

       

      I have te use Dax. In my current colum for example is search for "reparatie", "klachtenonderhoud", "klachtonderhoud", "dagelijks" and if found it should  give the value 3. 
      The data containing these current 4 strings is dynamic. So i want to replace it with values in a separate table. 

       

      I hope you understand.

       

      Greetings

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi Arnoh 

         

        I am not sure if I understand what you want...do you mean the values in that separate table will change? you want to search the values in the table?