how to modify attribute value in one exampleset based on some condition

Lei
Lei New Altair Community Member
edited November 5 in Community Q&A
I have two examplesets. I check if attribute value in second exampleset inside attribute in first exampleset. then I want to add some data to a new attribute in first exampleset based on comparsion


exampleset first:                                    exampleset second:
id   word   total                                      id   word    rate
1    cat       3                                         1    cat        2
2    dog      5                                         2    cattle     8
3    rat       4
4    pig       3
5    fish      6

compare word attribute of two examplesets, and find "cat" in both exampleset "word" attribute. so I want my result likes:

exampleset first:                                    
id   word   total   new_total  
1    cat       3          6                              
2    dog      5          5                            
3    rat       4          4
4    pig       3          3
5    fish      6          6

the "new_total" are calculated by "total"*"rate" if words exsit in both exampleset, otherwise copy "total" to "new_total".


Could someone tell me which operator I should use?
Thank you very much.

Best Answers

  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    Hi,
    looks like you want to left join the second on the first, replace mssings on the rate with 1 andthen use Generate Attributes to generate your product.

    Best,
    Martin
  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    Hi,
    you can just name the newly generated attribute total and it then overwrites the old one with the new one.

    Best,
    Martin

Answers

  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    Hi,
    looks like you want to left join the second on the first, replace mssings on the rate with 1 andthen use Generate Attributes to generate your product.

    Best,
    Martin
  • Lei
    Lei New Altair Community Member
    Thank you Mschmitz. 
    your answer is very helpful.

    I have another question. If I do not generate "new_total" attribute in above example, just modify the first exampleset "total" attribute with "total"*"rate" when words exsit in both examplesets, is there any other operator I can use?  Generate Attributes operator will create a new attribute. so for above example, I should delete "total" attribute later.

  • MartinLiebig
    MartinLiebig
    Altair Employee
    Answer ✓
    Hi,
    you can just name the newly generated attribute total and it then overwrites the old one with the new one.

    Best,
    Martin