<?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 Update value within a date range from multiple data sets in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947544#M83710</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have been searching for a solution to this for a while and my googling hasn't resulted in anything tangible. I hope someone here can help.&lt;/P&gt;&lt;P&gt;I have 2 datasets (all data is made up but the gist should be there):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Transaction_Tbl - the source dataset that contains transactional data of call reps for selected dates and call durations:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Transaction_Tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;CALL_START&lt;/TD&gt;&lt;TD&gt;CALL_END&lt;/TD&gt;&lt;TD&gt;CALL_DUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/4/2023&lt;/TD&gt;&lt;TD&gt;4:30 PM&lt;/TD&gt;&lt;TD&gt;4:32 PM&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;8/15/2023&lt;/TD&gt;&lt;TD&gt;8:30 AM&lt;/TD&gt;&lt;TD&gt;8:31 AM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;9/6/2023&lt;/TD&gt;&lt;TD&gt;9:15 AM&lt;/TD&gt;&lt;TD&gt;9:18 AM&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;5/6/2024&lt;/TD&gt;&lt;TD&gt;10:05 AM&lt;/TD&gt;&lt;TD&gt;10:06 AM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/10/2024&lt;/TD&gt;&lt;TD&gt;2:22 PM&lt;/TD&gt;&lt;TD&gt;2:23 PM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;4/29/2023&lt;/TD&gt;&lt;TD&gt;8:45 AM&lt;/TD&gt;&lt;TD&gt;8:55 AM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;11/29/2023&lt;/TD&gt;&lt;TD&gt;11:15 AM&lt;/TD&gt;&lt;TD&gt;11:30 AM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;12/8/2023&lt;/TD&gt;&lt;TD&gt;1:23 PM&lt;/TD&gt;&lt;TD&gt;1:40 PM&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;2/16/2024&lt;/TD&gt;&lt;TD&gt;1:40 PM&lt;/TD&gt;&lt;TD&gt;1:55 PM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/8/2023&lt;/TD&gt;&lt;TD&gt;12:10 PM&lt;/TD&gt;&lt;TD&gt;12:20 PM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/22/2023&lt;/TD&gt;&lt;TD&gt;2:33 PM&lt;/TD&gt;&lt;TD&gt;2:55 PM&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;1/21/2024&lt;/TD&gt;&lt;TD&gt;4:12 PM&lt;/TD&gt;&lt;TD&gt;4:19 PM&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;5/23/2024&lt;/TD&gt;&lt;TD&gt;3:42 PM&lt;/TD&gt;&lt;TD&gt;3:55 PM&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/2/2023&lt;/TD&gt;&lt;TD&gt;9:02 AM&lt;/TD&gt;&lt;TD&gt;9:10 AM&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;3/18/2023&lt;/TD&gt;&lt;TD&gt;9:50 AM&lt;/TD&gt;&lt;TD&gt;10:00 AM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;4/21/2023&lt;/TD&gt;&lt;TD&gt;10:05 AM&lt;/TD&gt;&lt;TD&gt;10:20 AM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;10/26/2023&lt;/TD&gt;&lt;TD&gt;1:22 PM&lt;/TD&gt;&lt;TD&gt;1:27 PM&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;11/12/2023&lt;/TD&gt;&lt;TD&gt;2:00 PM&lt;/TD&gt;&lt;TD&gt;2:04 PM&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. Card_Tbl - The supplemental dataset that shows what "card" the rep held between a certain date range. The card changes annually based on performance and defines the expected call duration at the card level:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Card_Tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;EFF_DT&lt;/TD&gt;&lt;TD&gt;END_DT&lt;/TD&gt;&lt;TD&gt;CARD&lt;/TD&gt;&lt;TD&gt;CARD_DESC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2020&lt;/TD&gt;&lt;TD&gt;12/31/2020&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2021&lt;/TD&gt;&lt;TD&gt;12/31/2021&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;Complete calls within 5 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2022&lt;/TD&gt;&lt;TD&gt;12/31/2022&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;Complete calls within 8 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;Complete calls within 5 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2022&lt;/TD&gt;&lt;TD&gt;12/31/2022&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2022&lt;/TD&gt;&lt;TD&gt;6/30/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2023&lt;/TD&gt;&lt;TD&gt;6/30/2024&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;Complete calls within 8 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2024&lt;/TD&gt;&lt;TD&gt;6/30/2025&lt;/TD&gt;&lt;TD&gt;YELLOW&lt;/TD&gt;&lt;TD&gt;Complete calls within 10 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;3/1/2024&lt;/TD&gt;&lt;TD&gt;2/28/2025&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Complete calls within 5 minutes.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am currently reviewing the rep call duration manually by dumping the data to excel and adding the relevant card color from Card_tbl and determining a pass or fail if the call duration meets expectation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The table i'd like to get by using SAS instead of manual work in excel is this (and complete a full population review vs a manual one):&lt;/P&gt;&lt;P&gt;ID_NUM, EMP_NM, DATE, and CALL_DUR from Transaction_Tbl&lt;/P&gt;&lt;P&gt;CARD from Card_Tbl based on the date&lt;/P&gt;&lt;P&gt;RESULT is new to the want_tbl and will show pass/fail depending on CALL_DUR and CARD value&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Want_tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;CALL_DUR&lt;/TD&gt;&lt;TD&gt;CARD&lt;/TD&gt;&lt;TD&gt;RESULT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/4/2023&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;8/15/2023&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;9/6/2023&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;5/6/2024&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/10/2024&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;4/29/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;11/29/2023&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;12/8/2023&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;FAIL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;2/16/2024&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/8/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/22/2023&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;FAIL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;1/21/2024&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;5/23/2024&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/2/2023&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;3/18/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;4/21/2023&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;10/26/2023&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;11/12/2023&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PASS&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I cannot figure out how to grab the applicable CARD value from the Card_Tbl as it applies to the ID_NUM/date in the Transaction_Tbl.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank You for your time and expertise.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Oct 2024 19:51:28 GMT</pubDate>
    <dc:creator>itsalexis</dc:creator>
    <dc:date>2024-10-15T19:51:28Z</dc:date>
    <item>
      <title>Update value within a date range from multiple data sets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947544#M83710</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have been searching for a solution to this for a while and my googling hasn't resulted in anything tangible. I hope someone here can help.&lt;/P&gt;&lt;P&gt;I have 2 datasets (all data is made up but the gist should be there):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Transaction_Tbl - the source dataset that contains transactional data of call reps for selected dates and call durations:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Transaction_Tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;CALL_START&lt;/TD&gt;&lt;TD&gt;CALL_END&lt;/TD&gt;&lt;TD&gt;CALL_DUR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/4/2023&lt;/TD&gt;&lt;TD&gt;4:30 PM&lt;/TD&gt;&lt;TD&gt;4:32 PM&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;8/15/2023&lt;/TD&gt;&lt;TD&gt;8:30 AM&lt;/TD&gt;&lt;TD&gt;8:31 AM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;9/6/2023&lt;/TD&gt;&lt;TD&gt;9:15 AM&lt;/TD&gt;&lt;TD&gt;9:18 AM&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;5/6/2024&lt;/TD&gt;&lt;TD&gt;10:05 AM&lt;/TD&gt;&lt;TD&gt;10:06 AM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/10/2024&lt;/TD&gt;&lt;TD&gt;2:22 PM&lt;/TD&gt;&lt;TD&gt;2:23 PM&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;4/29/2023&lt;/TD&gt;&lt;TD&gt;8:45 AM&lt;/TD&gt;&lt;TD&gt;8:55 AM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;11/29/2023&lt;/TD&gt;&lt;TD&gt;11:15 AM&lt;/TD&gt;&lt;TD&gt;11:30 AM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;12/8/2023&lt;/TD&gt;&lt;TD&gt;1:23 PM&lt;/TD&gt;&lt;TD&gt;1:40 PM&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;2/16/2024&lt;/TD&gt;&lt;TD&gt;1:40 PM&lt;/TD&gt;&lt;TD&gt;1:55 PM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/8/2023&lt;/TD&gt;&lt;TD&gt;12:10 PM&lt;/TD&gt;&lt;TD&gt;12:20 PM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/22/2023&lt;/TD&gt;&lt;TD&gt;2:33 PM&lt;/TD&gt;&lt;TD&gt;2:55 PM&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;1/21/2024&lt;/TD&gt;&lt;TD&gt;4:12 PM&lt;/TD&gt;&lt;TD&gt;4:19 PM&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;5/23/2024&lt;/TD&gt;&lt;TD&gt;3:42 PM&lt;/TD&gt;&lt;TD&gt;3:55 PM&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/2/2023&lt;/TD&gt;&lt;TD&gt;9:02 AM&lt;/TD&gt;&lt;TD&gt;9:10 AM&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;3/18/2023&lt;/TD&gt;&lt;TD&gt;9:50 AM&lt;/TD&gt;&lt;TD&gt;10:00 AM&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;4/21/2023&lt;/TD&gt;&lt;TD&gt;10:05 AM&lt;/TD&gt;&lt;TD&gt;10:20 AM&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;10/26/2023&lt;/TD&gt;&lt;TD&gt;1:22 PM&lt;/TD&gt;&lt;TD&gt;1:27 PM&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;11/12/2023&lt;/TD&gt;&lt;TD&gt;2:00 PM&lt;/TD&gt;&lt;TD&gt;2:04 PM&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. Card_Tbl - The supplemental dataset that shows what "card" the rep held between a certain date range. The card changes annually based on performance and defines the expected call duration at the card level:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Card_Tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;EFF_DT&lt;/TD&gt;&lt;TD&gt;END_DT&lt;/TD&gt;&lt;TD&gt;CARD&lt;/TD&gt;&lt;TD&gt;CARD_DESC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2020&lt;/TD&gt;&lt;TD&gt;12/31/2020&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2021&lt;/TD&gt;&lt;TD&gt;12/31/2021&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;Complete calls within 5 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2022&lt;/TD&gt;&lt;TD&gt;12/31/2022&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;Complete calls within 8 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;Complete calls within 5 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2022&lt;/TD&gt;&lt;TD&gt;12/31/2022&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2022&lt;/TD&gt;&lt;TD&gt;6/30/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2023&lt;/TD&gt;&lt;TD&gt;6/30/2024&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;Complete calls within 8 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;7/1/2024&lt;/TD&gt;&lt;TD&gt;6/30/2025&lt;/TD&gt;&lt;TD&gt;YELLOW&lt;/TD&gt;&lt;TD&gt;Complete calls within 10 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;3/1/2024&lt;/TD&gt;&lt;TD&gt;2/28/2025&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/1/2023&lt;/TD&gt;&lt;TD&gt;12/31/2023&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;Complete calls within 15 minutes.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/1/2024&lt;/TD&gt;&lt;TD&gt;12/31/2024&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Complete calls within 5 minutes.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am currently reviewing the rep call duration manually by dumping the data to excel and adding the relevant card color from Card_tbl and determining a pass or fail if the call duration meets expectation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The table i'd like to get by using SAS instead of manual work in excel is this (and complete a full population review vs a manual one):&lt;/P&gt;&lt;P&gt;ID_NUM, EMP_NM, DATE, and CALL_DUR from Transaction_Tbl&lt;/P&gt;&lt;P&gt;CARD from Card_Tbl based on the date&lt;/P&gt;&lt;P&gt;RESULT is new to the want_tbl and will show pass/fail depending on CALL_DUR and CARD value&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Want_tbl&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;TR&gt;&lt;TD&gt;ID_NUM&lt;/TD&gt;&lt;TD&gt;EMP_NM&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;CALL_DUR&lt;/TD&gt;&lt;TD&gt;CARD&lt;/TD&gt;&lt;TD&gt;RESULT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/4/2023&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;8/15/2023&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;9/6/2023&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;5/6/2024&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000121&lt;/TD&gt;&lt;TD&gt;Mark&lt;/TD&gt;&lt;TD&gt;6/10/2024&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;BLUE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;4/29/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;11/29/2023&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;12/8/2023&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;FAIL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000122&lt;/TD&gt;&lt;TD&gt;Jessie&lt;/TD&gt;&lt;TD&gt;2/16/2024&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/8/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;2/22/2023&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;FAIL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000123&lt;/TD&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;1/21/2024&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;ORANGE&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000124&lt;/TD&gt;&lt;TD&gt;Felicia&lt;/TD&gt;&lt;TD&gt;5/23/2024&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;1/2/2023&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;3/18/2023&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;4/21/2023&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;10/26/2023&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;PASS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;000127&lt;/TD&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;11/12/2023&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PASS&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I cannot figure out how to grab the applicable CARD value from the Card_Tbl as it applies to the ID_NUM/date in the Transaction_Tbl.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank You for your time and expertise.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2024 19:51:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947544#M83710</guid>
      <dc:creator>itsalexis</dc:creator>
      <dc:date>2024-10-15T19:51:28Z</dc:date>
    </item>
    <item>
      <title>Re: Update value within a date range from multiple data sets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947563#M83711</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
  select
    t1.id_num,
    t1.emp_nm,
    t1.date,
    t1.call_dur,
    t2.card
  from trans t1 left join card t2
  on t1.id_num = t2.id_num and t2.eff_dt le t1.date le t2.end_dt
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can then code the condition in a DATA step, or you can integrate it in the SQL if you're versed with SQL CASE.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2024 21:48:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947563#M83711</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-10-15T21:48:14Z</dc:date>
    </item>
    <item>
      <title>Re: Update value within a date range from multiple data sets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947568#M83712</link>
      <description>&lt;P&gt;First let's convert your listings into actual SAS datasets.&amp;nbsp; Let's call them TRANSACTIONS and CARDS.&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data transactions;
  input ID_NUM $ EMP_NM $ DATE :mmddyy. (CALL_START CALL_END) (:time.) CALL_DUR ;
  format date yymmdd10. call_start call_end tod5. ;
cards;
000121 Mark 6/4/2023 4:30PM 4:32PM 2
000121 Mark 8/15/2023 8:30AM 8:31AM 1
000121 Mark 9/6/2023 9:15AM 9:18AM 3
000121 Mark 5/6/2024 10:05AM 10:06AM 1
000121 Mark 6/10/2024 2:22PM 2:23PM 1
000122 Jessie 4/29/2023 8:45AM 8:55AM 10
000122 Jessie 11/29/2023 11:15AM 11:30AM 15
000122 Jessie 12/8/2023 1:23PM 1:40PM 17
000122 Jessie 2/16/2024 1:40PM 1:55PM 15
000123 James 2/8/2023 12:10PM 12:20PM 10
000123 James 2/22/2023 2:33PM 2:55PM 22
000123 James 1/21/2024 4:12PM 4:19PM 7
000124 Felicia 5/23/2024 3:42PM 3:55PM 13
000127 Henry 1/2/2023 9:02AM 9:10AM 8
000127 Henry 3/18/2023 9:50AM 10:00AM 10
000127 Henry 4/21/2023 10:05AM 10:20AM 15
000127 Henry 10/26/2023 1:22PM 1:27PM 5
000127 Henry 11/12/2023 2:00PM 2:04PM 4
;

data cards;
  infile cards truncover;
  input ID_NUM $ EMP_NM $ (EFF_DT END_DT) (:mmddyy.) CARD $ CARD_DESC $50.;
  format EFF_DT END_DT yymmdd10.;
cards;
000121 Mark 1/1/2020 12/31/2020 GREEN Complete calls within 15 minutes.
000121 Mark 1/1/2021 12/31/2021 BLUE Complete calls within 5 minutes.
000121 Mark 1/1/2022 12/31/2022 ORANGE Complete calls within 8 minutes.
000121 Mark 1/1/2023 12/31/2023 GREEN Complete calls within 15 minutes.
000121 Mark 1/1/2024 12/31/2024 BLUE Complete calls within 5 minutes.
000122 Jessie 1/1/2022 12/31/2022 GREEN Complete calls within 15 minutes.
000122 Jessie 1/1/2023 12/31/2023 GREEN Complete calls within 15 minutes.
000122 Jessie 1/1/2024 12/31/2024 GREEN Complete calls within 15 minutes.
000123 James 7/1/2022 6/30/2023 GREEN Complete calls within 15 minutes.
000123 James 7/1/2023 6/30/2024 ORANGE Complete calls within 8 minutes.
000123 James 7/1/2024 6/30/2025 YELLOW Complete calls within 10 minutes.
000124 Felicia 3/1/2024 2/28/2025 GREEN Complete calls within 15 minutes.
000127 Henry 1/1/2023 12/31/2023 GREEN Complete calls within 15 minutes.
000127 Henry 1/1/2024 12/31/2024 BLUE Complete calls within 5 minutes.
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;It is much easier to do matches on ranges with SQL syntax, so let's do a left join of TRANSACTIONS with CARDS so we have all of the information on the same observations.&amp;nbsp; We can then extract the target duration from the descriptive text and convert to a number that we can compare to the call duration.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as 
  select a.*
       , b.card
       , b.card_desc
       , input(scan(b.card_desc,-2,' '),32.) as target
       , (a.CALL_DUR between 0 and calculated target) as satisfied
  from transactions a
  left join cards b
    on a.ID_NUM = b.ID_NUM
    and a.DATE between b.EFF_DT and b.END_DT
  order by a.ID_NUM, a.date, a.call_start
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1729040682091.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/101260i50200673EE7FCDC9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Tom_0-1729040682091.png" alt="Tom_0-1729040682091.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2024 01:04:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Update-value-within-a-date-range-from-multiple-data-sets/m-p/947568#M83712</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2024-10-16T01:04:56Z</dc:date>
    </item>
  </channel>
</rss>

