<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Value assignment based on multiple if conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787182#M251465</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need help translating the below table in SAS code to be able to &lt;STRONG&gt;assign the values&lt;/STRONG&gt; found in the variable "Points" in another large &lt;STRONG&gt;target dataset&lt;/STRONG&gt;. The target dataset contains the variables "Sport", "Tournament",&amp;nbsp;"Held",&amp;nbsp;"Age", "Country",&amp;nbsp;"Season",&amp;nbsp;"Year",&amp;nbsp;"Length", and "Surface" except the variable "Points". So the table below can be seen as a &lt;STRONG&gt;map that has the assignment rules&lt;/STRONG&gt;&amp;nbsp;branching like tree to the&amp;nbsp;"Point" value.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Some observations about the map table (below) and desired target dataset:&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The variables&amp;nbsp;"Sport" and "Tournament" will always have values populated and the other variables can have blank values.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;The "Points" can be assigned in a decision tree format branching from first column "Sport" then down to the last column "Surface". Hence the order of the columns is very important.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;The "Points" assignment is will be based on the criteria shown in each row. If perfect match is not found the row with a most closely match will be used to assign the "Points" value&amp;nbsp;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Blank value can take any value not explicitly specified in the map table, e.g., see row #3... if in the target dataset a record matches all values (i.e.,&amp;nbsp; tennis, 34, Y,(15-30),&amp;nbsp;France, Fall,2017,&amp;nbsp;5 Days) except the Surface variable which has a value "Grass" then this record will still get the Points assignment of 39&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My initial idea was to create a conditional statement for each row and assign the "Points" value that way. For instance if we take the example above for row #3 I would have something like&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="sas"&gt;if (Sport='Tennis'
 and Tournament=45
 and Held='Y'
 and Age='(15-30)'
 and Country='France'
 and Season='Fall'
 and Year=2017
 and Length ='5 Days'
 and Surface ne 'Hard'
 and Surface ne 'Clay'
) then Points=39;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The above seems pretty time consuming especially if the map table has 100+ conditional rows. I was wondering if there is a better way to tackle this problem.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dataset A:&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#&lt;/TD&gt;&lt;TD&gt;Sport&lt;/TD&gt;&lt;TD&gt;Tournament&lt;/TD&gt;&lt;TD&gt;Held&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;Season&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Length&lt;/TD&gt;&lt;TD&gt;Surface&lt;/TD&gt;&lt;TD&gt;Points&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;39&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Winter&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;3 Day&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;3 Day&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The target dataset with assigned values based on the rules provided in the table above should look like this:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dataset B:&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Sport&lt;/TD&gt;&lt;TD&gt;Tournament&lt;/TD&gt;&lt;TD&gt;Held&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;Season&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Length&lt;/TD&gt;&lt;TD&gt;Surface&lt;/TD&gt;&lt;TD&gt;Points&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Green&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Hard/Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;10 Days&lt;/TD&gt;&lt;TD&gt;Hard/Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Winter&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;</description>
    <pubDate>Wed, 05 Jan 2022 20:39:30 GMT</pubDate>
    <dc:creator>dzurov</dc:creator>
    <dc:date>2022-01-05T20:39:30Z</dc:date>
    <item>
      <title>Value assignment based on multiple if conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787182#M251465</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need help translating the below table in SAS code to be able to &lt;STRONG&gt;assign the values&lt;/STRONG&gt; found in the variable "Points" in another large &lt;STRONG&gt;target dataset&lt;/STRONG&gt;. The target dataset contains the variables "Sport", "Tournament",&amp;nbsp;"Held",&amp;nbsp;"Age", "Country",&amp;nbsp;"Season",&amp;nbsp;"Year",&amp;nbsp;"Length", and "Surface" except the variable "Points". So the table below can be seen as a &lt;STRONG&gt;map that has the assignment rules&lt;/STRONG&gt;&amp;nbsp;branching like tree to the&amp;nbsp;"Point" value.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Some observations about the map table (below) and desired target dataset:&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The variables&amp;nbsp;"Sport" and "Tournament" will always have values populated and the other variables can have blank values.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;The "Points" can be assigned in a decision tree format branching from first column "Sport" then down to the last column "Surface". Hence the order of the columns is very important.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;The "Points" assignment is will be based on the criteria shown in each row. If perfect match is not found the row with a most closely match will be used to assign the "Points" value&amp;nbsp;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Blank value can take any value not explicitly specified in the map table, e.g., see row #3... if in the target dataset a record matches all values (i.e.,&amp;nbsp; tennis, 34, Y,(15-30),&amp;nbsp;France, Fall,2017,&amp;nbsp;5 Days) except the Surface variable which has a value "Grass" then this record will still get the Points assignment of 39&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My initial idea was to create a conditional statement for each row and assign the "Points" value that way. For instance if we take the example above for row #3 I would have something like&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="sas"&gt;if (Sport='Tennis'
 and Tournament=45
 and Held='Y'
 and Age='(15-30)'
 and Country='France'
 and Season='Fall'
 and Year=2017
 and Length ='5 Days'
 and Surface ne 'Hard'
 and Surface ne 'Clay'
) then Points=39;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The above seems pretty time consuming especially if the map table has 100+ conditional rows. I was wondering if there is a better way to tackle this problem.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dataset A:&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#&lt;/TD&gt;&lt;TD&gt;Sport&lt;/TD&gt;&lt;TD&gt;Tournament&lt;/TD&gt;&lt;TD&gt;Held&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;Season&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Length&lt;/TD&gt;&lt;TD&gt;Surface&lt;/TD&gt;&lt;TD&gt;Points&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;39&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Winter&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;3 Day&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;3 Day&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;Golf&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The target dataset with assigned values based on the rules provided in the table above should look like this:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dataset B:&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Sport&lt;/TD&gt;&lt;TD&gt;Tournament&lt;/TD&gt;&lt;TD&gt;Held&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;Season&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Length&lt;/TD&gt;&lt;TD&gt;Surface&lt;/TD&gt;&lt;TD&gt;Points&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Green&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Hard/Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;10 Days&lt;/TD&gt;&lt;TD&gt;Hard/Clay&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(30-60)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Spring&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(5-15)&lt;/TD&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;Winter&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Fall&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Hard&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;Italy&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;7 Days&lt;/TD&gt;&lt;TD&gt;Grass&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jan 2022 20:39:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787182#M251465</guid>
      <dc:creator>dzurov</dc:creator>
      <dc:date>2022-01-05T20:39:30Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787184#M251466</link>
      <description>&lt;P&gt;If the original table doesn’t have the points then where did 39 come from?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Where do the rules for the points come from? A table? Rules you know in your head?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It would help to show what information you start with and what you expect as output but I’m not following that example at all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/410689"&gt;@dzurov&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need help translating the below table in SAS code to be able to &lt;STRONG&gt;assign the values&lt;/STRONG&gt; found in the variable "Points" in another large &lt;STRONG&gt;target dataset&lt;/STRONG&gt;. The target dataset contains the variables "Sport", "Tournament",&amp;nbsp;"Held",&amp;nbsp;"Age", "Country",&amp;nbsp;"Season",&amp;nbsp;"Year",&amp;nbsp;"Length", and "Surface" except the variable "Points". So the table below can be seen as a &lt;STRONG&gt;map that has the assignment rules&lt;/STRONG&gt;&amp;nbsp;branching like tree to the&amp;nbsp;"Point" value.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some observations about the map table (below) and desired target dataset:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The variables&amp;nbsp;"Sport" and "Tournament" will always have values populated and the other variables can have blank values.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The "Points" can be assigned in a decision tree format branching from first column "Sport" then down to the last column "Surface". Hence the order of the columns is very important.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The "Points" assignment is will be based on the criteria shown in each row. If perfect match is not found the row with a most closely match will be used to assign the "Points" value&amp;nbsp;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Blank value can take any value not explicitly specified in the map table, e.g., see row #3... if in the target dataset a record matches all values (i.e.,&amp;nbsp; tennis, 34, Y,(15-30),&amp;nbsp;France, Fall,2017,&amp;nbsp;5 Days) except the Surface variable which has a value "Grass" then this record will still get the Points assignment of 39&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;My initial idea was to create a conditional statement for each row and assign the "Points" value that way. For instance if we take the example above for row #3 I would have something like&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;if ((Sport='Tennis' and Tournament=45 and Held='Y' and Age='(15-30)' and Country='France' and 
Season='Fall' and Year=2017 and Length ='5 Days' and Surface ne 'Hard' and Surface ne 'Clay') then Points=39;&lt;/LI-CODE&gt;
&lt;P&gt;The above seems pretty time consuming especially if the map table has 100+ conditional rows. I was wondering if there is a better way to tackle this problem.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;#&lt;/TD&gt;
&lt;TD&gt;Sport&lt;/TD&gt;
&lt;TD&gt;Tournament&lt;/TD&gt;
&lt;TD&gt;Held&lt;/TD&gt;
&lt;TD&gt;Age&lt;/TD&gt;
&lt;TD&gt;Country&lt;/TD&gt;
&lt;TD&gt;Season&lt;/TD&gt;
&lt;TD&gt;Year&lt;/TD&gt;
&lt;TD&gt;Length&lt;/TD&gt;
&lt;TD&gt;Surface&lt;/TD&gt;
&lt;TD&gt;Points&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Fall&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;5 Days&lt;/TD&gt;
&lt;TD&gt;Hard&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;5 Days&lt;/TD&gt;
&lt;TD&gt;Clay&lt;/TD&gt;
&lt;TD&gt;46&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Fall&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;5 Days&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;39&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2016&lt;/TD&gt;
&lt;TD&gt;5 Days&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;46&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;46&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(5-15)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Spring&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(5-15)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Retail&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Spring&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Spring&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;(5-15)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;38&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;54&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;54&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;Tennis&lt;/TD&gt;
&lt;TD&gt;60&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(5-15)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;3 Day&lt;/TD&gt;
&lt;TD&gt;Grass&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2016&lt;/TD&gt;
&lt;TD&gt;3 Day&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;24&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(30-60)&lt;/TD&gt;
&lt;TD&gt;France&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Italy&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;26&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;(15-30)&lt;/TD&gt;
&lt;TD&gt;Austria&lt;/TD&gt;
&lt;TD&gt;Summer&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;27&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;Golf&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;61&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;...&lt;/TD&gt;
&lt;TD&gt;...&lt;/TD&gt;
&lt;TD&gt;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;...&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your help.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 00:11:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787184#M251466</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-12-23T00:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787197#M251475</link>
      <description>&lt;P&gt;Imho&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;and Surface ne 'Hard' and Surface ne 'Clay'&lt;/LI-CODE&gt;
&lt;P&gt;is wrong for line three. It should be&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;and missing(Surface)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You could use a data step to write a data step ... i don't have the time to provide code, maybe later.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 05:57:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787197#M251475</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-12-23T05:57:37Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787243#M251511</link>
      <description>&lt;P&gt;Q: If the original table doesn’t have the points then where did 39 come from?&lt;BR /&gt;A:The target dataset (dataset B) does not have the points. The mapping table (dataset A) contains the rules. These are given I didn't come up with them.&lt;BR /&gt;&lt;BR /&gt;Q:Where do the rules for the points come from? A table? Rules you know in your head?&lt;BR /&gt;A: The rules for the points are given in the mapping table (dataset A). What I want to do is translate these in SAS code to be able to apply them on the dataset B (10000+ obs).&lt;BR /&gt;&lt;BR /&gt;In the original message I included an example of how the target dataset points assignment should look like (based on the rules from dataset A)&lt;BR /&gt;Thank you a bunch!&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 15:45:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787243#M251511</guid>
      <dc:creator>dzurov</dc:creator>
      <dc:date>2021-12-23T15:45:19Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787245#M251512</link>
      <description>&lt;P&gt;I didn't use a missing function because in the target dataset (dataset B) the value of the variable "Surface" will not necessarily be missing.&lt;/P&gt;&lt;P&gt;As I had in my example, if Surface is Grass then points should still be assigned. i.e. in dataset A blank means that these can take any value. Said in other words the Points should be assigned in a tree like branches to the closest match available based on the mapping in dataset A.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 15:57:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787245#M251512</guid>
      <dc:creator>dzurov</dc:creator>
      <dc:date>2021-12-23T15:57:30Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787256#M251520</link>
      <description>But you didn't provide an example of each table so we only have a part of the picture.&lt;BR /&gt;Please provide a small workable example if you'd like help with code. Otherwise, you're looking at fuzzy merging essentially where the criteria won't match exactly. I would consider PROC PSMATCH possibly as an option but there are also greedy matching algorithms for this type of matching. &lt;BR /&gt;It's similar to a case control matching process.</description>
      <pubDate>Thu, 23 Dec 2021 16:31:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787256#M251520</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-12-23T16:31:02Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787259#M251523</link>
      <description>&lt;P&gt;Whether execution time makes much difference will depend on the sizes of the tables.&lt;/P&gt;
&lt;P&gt;You don't seem to have supplied any example input data that you want to "score".&lt;/P&gt;
&lt;P&gt;The example code you posted does not appear to match any of the lines in your rules dataset.&amp;nbsp; Can you make example code that actually matches the example rules you have posted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 16:59:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787259#M251523</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-12-23T16:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787261#M251525</link>
      <description>&lt;P&gt;Note it is just as easy to post the sample data as SAS code as it is to go to the trouble of creating a table or spreadsheet.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile cards dsd dlm='|' truncover;
  input Sport :$20. Tournament Held :$1. Age :$20. Country :$20.
        Season :$10. Year Length :$20. Surface :$10. Points
  ;
cards;
Tennis|45|Y|(15-30)|Italy|Fall|2017|5 Days|Hard|44
Tennis|45|Y|(15-30)|France|Summer|2017|5 Days|Clay|46
Tennis|45|Y|(15-30)|France|Fall|2017|5 Days| |39
Tennis|45|Y|(15-30)|Austria|Summer|2016|5 Days| |44
Tennis|45|Y|(30-60)|Italy|Summer|2014| | |44
Tennis|45|Y|(30-60)|France|Summer|2017| | |46
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You should be able to use the data to generate code.&amp;nbsp; The data step is an excellent tool for generating text files.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;filename code temp;
data _null_;
  set have ;
  file code column=col ;
  if _n_ &amp;gt; 1 then put 'else ' @;
  put 'if ' surface= :$quote. @;
  put 'and ' age= :$quote. @;
  if col&amp;gt;65 then put / @5 @;
  put 'and ' country= :$quote. @;
  if col&amp;gt;65 then put / @5 @;
  put 'and ' season= :$quote. @;
  if col&amp;gt;65 then put / @5 @;
  put 'and ' year= @;
  if not missing(surface) then put 'and ' surface= :$quote. @ ;
  if col&amp;gt;65 then put / @5 @;
  put 'then ' points= ';' ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Since you didn't provide any sample input data let's just use your rules database and drop the existing POINTS variable.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have (drop=points);
%include code / source2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here is what the SAS log looks like:&lt;/P&gt;
&lt;PRE&gt;649   data want;
650     set have (drop=points);
651   %include code / source2;
NOTE: %INCLUDE (level 1) file CODE is file C:\...\#LN00065.
652  +if Surface="Hard" and Age="(15-30)" and Country="Italy" and Season="Fall"
653  +    and Year=2017 and Surface="Hard" then Points=44 ;
654  +else if Surface="Clay" and Age="(15-30)" and Country="France" and Season="Summer"
655  +    and Year=2017 and Surface="Clay" then Points=46 ;
656  +else if Surface="" and Age="(15-30)" and Country="France" and Season="Fall"
657  +    and Year=2017 then Points=39 ;
658  +else if Surface="" and Age="(15-30)" and Country="Austria" and Season="Summer"
659  +    and Year=2016 then Points=44 ;
660  +else if Surface="" and Age="(30-60)" and Country="Italy" and Season="Summer"
661  +    and Year=2014 then Points=44 ;
662  +else if Surface="" and Age="(30-60)" and Country="France" and Season="Summer"
663  +    and Year=2017 then Points=46 ;
NOTE: %INCLUDE (level 1) ending.
664   run;

NOTE: There were 6 observations read from the data set WORK.HAVE.
NOTE: The data set WORK.WANT has 6 observations and 10 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
&lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Dec 2021 16:53:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787261#M251525</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-12-23T16:53:15Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787285#M251543</link>
      <description>&lt;P&gt;I updated my original post, Dataset B is the table that needs scoring. I assigned the points manually to illustrate how the mapping table should work. Dropping points in this Dataset B gives an exact view of how the target dataset looks like.&lt;/P&gt;&lt;P&gt;Thanks for the idea for generating the code in the log file. This is probably something I could use. It wont be pretty with many lines of code but it could work. With multiple IF statements like this I need to make sure the IF statements with least number of arguments get executed first (some type of sorting will be needed). Don't want to get the values overwritten if multiple IF statements can fulfil the criteria.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example IF#1 should be executed first so it does not override IF#2 when trying to assign points to this record&amp;nbsp; which should get 46&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Sport&lt;/TD&gt;&lt;TD&gt;Tournament&lt;/TD&gt;&lt;TD&gt;Held&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;Season&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Length&lt;/TD&gt;&lt;TD&gt;Surface&lt;/TD&gt;&lt;TD&gt;Points&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Tennis&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;(15-30)&lt;/TD&gt;&lt;TD&gt;France&lt;/TD&gt;&lt;TD&gt;Summer&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;5 Days&lt;/TD&gt;&lt;TD&gt;Clay&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="sas"&gt;/* IF#1 rule based on row #11 in dataset A*/
if (Sport='Tennis'
 and Tournament=45
 and Held='Y'
 and Age='(15-30)'
 and Country='France'
 and Season='Summer'
) then Points=44;

/* IF#2 rule based on row #2 in dataset A */
if (Sport='Tennis'
 and Tournament=45
 and Held='Y'
 and Age='(15-30)'
 and Country='France'
 and Season='Summer'
 and Year=2017
 and Length ='5 Days'
 and Surface = 'Clay'
) then Points=46;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 19:45:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787285#M251543</guid>
      <dc:creator>dzurov</dc:creator>
      <dc:date>2021-12-23T19:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: Value assignment based on multiple conditions resembling decision tree</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787320#M251554</link>
      <description>&lt;P&gt;So use my program as it is generating ELSE statements so only one rule will apply.&lt;/P&gt;
&lt;P&gt;Sort the data in the proper order before using it generate the code. To try your idea of apply the most complete rules first try using the value of CMISS() for the various conditions to sort.&amp;nbsp; So rules with the fewest missing conditions will "win".&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data rules;
  set rules;
  n_miss=cmiss(of Sport Tournament Held Age Country Season Year Length Surface);
run;
proc sort;
  by n_miss;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that the code is generated to a FILE, not the log.&amp;nbsp; The code in the LOG is the code that RAN because of the %INCLUDE statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Dec 2021 03:57:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-assignment-based-on-multiple-if-conditions/m-p/787320#M251554</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-12-24T03:57:37Z</dc:date>
    </item>
  </channel>
</rss>

