<?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: Difference in values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571481#M161202</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/143597"&gt;@u13161556U&lt;/a&gt;&amp;nbsp;Actually you can make it 3-4 lines shorter and easier to read. Edited code is as below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA Intermediate;
	SET HAVE;

	IF Balance &amp;gt; 0 THEN
		OUTPUT;
RUN;

DATA Want (DROP=StartBalance Balance);
	SET Intermediate;
	BY Account_Num;
	RETAIN StartBalance 0;
	IF FIRST.Account_Num THEN
		StartBalance=Balance;

	IF LAST.Account_Num THEN DO;
		Difference=Balance - StartBalance;
		OUTPUT;
	END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 05 Jul 2019 19:06:30 GMT</pubDate>
    <dc:creator>koyelghosh</dc:creator>
    <dc:date>2019-07-05T19:06:30Z</dc:date>
    <item>
      <title>Difference in values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571344#M161168</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;I was wondering if anyone could help me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to calculate the difference between the first balance and the last balance (greater than zero). eg: I need to get a final answer of 3 (10-7).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2019 09:28:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571344#M161168</guid>
      <dc:creator>u13161556U</dc:creator>
      <dc:date>2019-07-05T09:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: Difference in values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571377#M161170</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA WORK.HAVE;
FORMAT 	 Account_num $5. Balance 8. Status $1.;
INFORMAT Account_num $5. Balance 8. Status $1.;
INPUT    Account_num	 Balance	Status;
INFILE DATALINES DLM='|' DSD;
DATALINES;
12345|10|x
12345|8|x
12345|7|x
12345|0|y
12345|0|y
;


PROC SQL;
CREATE TABLE WORK.WANT	AS
	SELECT
		  Account_Num
		, Max(Balance)-MIN(Balance)		AS Difference

	FROM WORK.HAVE
	WHERE Balance &amp;gt; 0
	GROUP BY Account_Num;
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;PRE&gt;Account_num	Difference
12345		3&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jul 2019 13:09:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571377#M161170</guid>
      <dc:creator>tsap</dc:creator>
      <dc:date>2019-07-05T13:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: Difference in values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571479#M161201</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/143597"&gt;@u13161556U&lt;/a&gt;&amp;nbsp;Here is my two step approach. It works for the limited dataset that you provided. You will have to test on the larger dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA Intermediate;
	SET HAVE;

	IF Balance &amp;gt; 0 THEN
		OUTPUT;
RUN;

DATA Want (DROP=StartBalance EndBalance Balance);
	SET Intermediate;
	BY Account_Num;
	RETAIN StartBalance 0;
	RETAIN EndBalance 0;

	IF FIRST.Account_Num THEN
		StartBalance=Balance;

	IF LAST.Account_Num THEN
		EndBalance=Balance;

	IF StartBalance ^=0 AND EndBalance ^=0 THEN
		DO;
			Difference=EndBalance - StartBalance;
			OUTPUT;
		END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Please let me know, how did it work out for you.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2019 18:52:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571479#M161201</guid>
      <dc:creator>koyelghosh</dc:creator>
      <dc:date>2019-07-05T18:52:06Z</dc:date>
    </item>
    <item>
      <title>Re: Difference in values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571481#M161202</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/143597"&gt;@u13161556U&lt;/a&gt;&amp;nbsp;Actually you can make it 3-4 lines shorter and easier to read. Edited code is as below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA Intermediate;
	SET HAVE;

	IF Balance &amp;gt; 0 THEN
		OUTPUT;
RUN;

DATA Want (DROP=StartBalance Balance);
	SET Intermediate;
	BY Account_Num;
	RETAIN StartBalance 0;
	IF FIRST.Account_Num THEN
		StartBalance=Balance;

	IF LAST.Account_Num THEN DO;
		Difference=Balance - StartBalance;
		OUTPUT;
	END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jul 2019 19:06:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Difference-in-values/m-p/571481#M161202</guid>
      <dc:creator>koyelghosh</dc:creator>
      <dc:date>2019-07-05T19:06:30Z</dc:date>
    </item>
  </channel>
</rss>

