<?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 Re: How to create a dataset with values that range around values in a smaller dataset? in Advanced Programming</title>
    <link>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715848#M53</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

do i= (ID-2) to (ID+2) by 1;
      output;
end;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you need account for values less than 0 you may need to add in some more checks, but otherwise this should work.&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/223871"&gt;@Ani7&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have a dataset that contains a range of IDs in numeric format that looks like this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;98&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;How would I create a dataset that essentially has all values that are within 2 values of the ID in the above table? The final table should look like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;96&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;97&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;98&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;99&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 01 Feb 2021 18:20:07 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2021-02-01T18:20:07Z</dc:date>
    <item>
      <title>How to create a dataset with values that range around values in a smaller dataset?</title>
      <link>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715841#M51</link>
      <description>&lt;P&gt;I have a dataset that contains a range of IDs in numeric format that looks like this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;How would I create a dataset that essentially has all values that are within 2 values of the ID in the above table? The final table should look like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;96&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Feb 2021 17:48:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715841#M51</guid>
      <dc:creator>Ani7</dc:creator>
      <dc:date>2021-02-01T17:48:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a dataset with values that range around values in a smaller dataset?</title>
      <link>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715845#M52</link>
      <description>&lt;P&gt;/*Two options below..*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*First option is with Macro variables, you create two macros, start and end and assign values */&lt;/P&gt;
&lt;P&gt;%let Start=4;&lt;BR /&gt;%let end=98;&lt;/P&gt;
&lt;P&gt;Data file1(drop=i);&lt;BR /&gt;do i=&amp;amp;start to &amp;amp;end;&lt;BR /&gt;Id=i;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*Second option would be to use your datasource that has two observations in sorted order */&lt;BR /&gt;Data source;&lt;BR /&gt;ID=4;&lt;BR /&gt;output;&lt;BR /&gt;ID=98;&lt;BR /&gt;output;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;Data file2(drop=i);&lt;BR /&gt;set source end=eof;&lt;BR /&gt;retain start end;&lt;BR /&gt;if _n_=1 then start=id;&lt;BR /&gt;else end=id;&lt;BR /&gt;if eof then do;&lt;BR /&gt;do i=&amp;amp;start to &amp;amp;end;&lt;BR /&gt;Id=i;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Feb 2021 18:12:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715845#M52</guid>
      <dc:creator>CarmineVerrell</dc:creator>
      <dc:date>2021-02-01T18:12:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a dataset with values that range around values in a smaller dataset?</title>
      <link>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715848#M53</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

do i= (ID-2) to (ID+2) by 1;
      output;
end;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you need account for values less than 0 you may need to add in some more checks, but otherwise this should work.&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/223871"&gt;@Ani7&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have a dataset that contains a range of IDs in numeric format that looks like this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;98&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;How would I create a dataset that essentially has all values that are within 2 values of the ID in the above table? The final table should look like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;96&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;97&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;98&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;99&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Feb 2021 18:20:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Advanced-Programming/How-to-create-a-dataset-with-values-that-range-around-values-in/m-p/715848#M53</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-02-01T18:20:07Z</dc:date>
    </item>
  </channel>
</rss>

