<?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 get smallest value in a variable based on their increasing order and dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/674987#M203305</link>
    <description>&lt;P&gt;Thank you all for your response, i was able to release my report within timeline just because of your support. Many thanks for your help.&lt;/P&gt;</description>
    <pubDate>Thu, 06 Aug 2020 13:03:41 GMT</pubDate>
    <dc:creator>Ravindra_</dc:creator>
    <dc:date>2020-08-06T13:03:41Z</dc:date>
    <item>
      <title>How to get smallest value in a variable based on their increasing order and dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673098#M202424</link>
      <description>&lt;P&gt;I have a data as below and i need to derive the smallest value of the diameter&lt;/P&gt;&lt;P&gt;Example: In scr visit the diameter is 20 and the smallest value must be 20, like wise c2 diameter is 15 and smallest value must come as 15, c3 diameter is 10 and the smallest value must be 10, c4 diameter is 12 and smallest value must be 12, c5 diameter is 9 ans smallest value must be 9, c6 diameter is 10 and the smallest value must be 9, c7 diameter is 17 and smallest value must be 9, c8 diameter is 20 and smallest value must be 9, c9 diameter is 2 and smallest value must be 2.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;subject&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Asse visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;date&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;diameter&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;scr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&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;The output must look like this.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;subject&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Asse visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;date&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;diameter&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;smallest&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;scr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9-Jan-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&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 not able to find a right approach, can anyone help.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jul 2020 12:41:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673098#M202424</guid>
      <dc:creator>Ravindra_</dc:creator>
      <dc:date>2020-07-29T12:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to get smallest value in a variable based on their increasing order and dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673104#M202425</link>
      <description>&lt;PRE&gt;data have;
input 
_1
subject	$
Assevisit $
date $
diameter;
cards;
2
101
scr
1-Jan-20
20
3
101
c2
2-Jan-20
15
4
101
c3
3-Jan-20
10
5
101
c4
4-Jan-20
12
6
101
c5
5-Jan-20
9
7
101
c6
6-Jan-20
10
8
101
c7
7-Jan-20
17
9
101
c8
8-Jan-20
20
10
101
c9
9-Jan-20
2
;

data want;
 set have;
 retain min;
 min=min(min,diameter);
run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jul 2020 13:00:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673104#M202425</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2020-07-29T13:00:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to get smallest value in a variable based on their increasing order and dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673106#M202427</link>
      <description>&lt;P&gt;Create a new variable. Retain the value.&amp;nbsp; Use the MIN() function.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by subject date ;
  if first.id then smallest=diameter;
  else smallest=min(smallest,diameter);
  retain smallest;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jul 2020 13:03:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673106#M202427</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-07-29T13:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to get smallest value in a variable based on their increasing order and dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673123#M202434</link>
      <description>&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Editted note in italics:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/260204"&gt;@Ravindra_&lt;/a&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;You marked my submission as a solution, BUT IT IS WRONG.&amp;nbsp; In fact, I don't remember submitting it - it looks like something I was investigating , and I must have (late at night) absentmindedly posted.&amp;nbsp; I notice I didn't even add comments, which I usually do.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;The core reason it is wrong is that the lag function is embedded inside the IFN function. &amp;nbsp; In this case that means that the queue of values accessed by the lag function will never access the output of the IFN function (which was intended to update smallest). &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;A retain (as suggested by others) is essential:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Below is a corrected program:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by subject;
  retain smallest;
  smallest=ifn(first.subject,diameter,min(diameter,smallest));
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Below is the erroneous submission:&amp;nbsp;&lt;/STRONG&gt; &lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;STRIKE&gt;data want;
  set have;
  by subject ;
  smallest=ifn(first.subject,diameter,min(diameter,lag(smallest));
run;&lt;/STRIKE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 20:45:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/673123#M202434</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-08-06T20:45:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to get smallest value in a variable based on their increasing order and dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/674987#M203305</link>
      <description>&lt;P&gt;Thank you all for your response, i was able to release my report within timeline just because of your support. Many thanks for your help.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 13:03:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-get-smallest-value-in-a-variable-based-on-their/m-p/674987#M203305</guid>
      <dc:creator>Ravindra_</dc:creator>
      <dc:date>2020-08-06T13:03:41Z</dc:date>
    </item>
  </channel>
</rss>

