<?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: Create flag to connect records in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714230#M220479</link>
    <description>&lt;P&gt;Are you coming from Europe ? Germany ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover expandtabs;
input Agreement $	Effective_Date1 : ddmmyy10.	(Debit	Credit) (: commax32.);
format Effective_Date1 ddmmyy10.;
cards;
A1	10/09/2019	0	30	 
A1	11/09/2019	0	750	 
A1	11/09/2019	0	750	 
A1	11/09/2019	0	260,75	1
A1	11/09/2019	260,75	0	1
A1	11/09/2019	260,75	0	 
A1	11/09/2019	260,75	0	 
A1	11/09/2019	260,75	0	 
A2	04/08/2020	0	1	 
A2	11/08/2020	150	0	 
A2	11/08/2020	150	0	2
A2	11/08/2020	150	0	3
A2	11/08/2020	0	150	2
A2	11/08/2020	0	150	3
A3	12/09/2020	100	0	 
A3	21/09/2020	100	0	5
A3	21/09/2020	100	0	4
A3	21/09/2020	0	100	4
A3	21/09/2020	0	100	5
A3	21/09/2020	0	100
;


data debit(drop=credit) credit;
 set have;
 if debit=0 then do;debit=credit;output credit;end;
 if credit=0 then  output debit;
run;
proc sort data=debit;by Agreement 	Effective_Date1 debit;run;
proc sort data=credit;by Agreement 	Effective_Date1 debit;run;
data temp;
 ina=0;inb=0;
 merge debit(in=ina) credit(in=inb);
 by Agreement 	Effective_Date1 debit;
 if not ina then debit=0;
 if not inb then credit=0;
 if ina and inb then flag=1;
 run;
 data temp;
  set temp;
  if flag then n+1;
run;
data want;
 set temp;
 if flag then do;dummy=n;debit=0;output;debit=credit;credit=0;output;end;
  else output;
  drop flag n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 26 Jan 2021 12:39:37 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2021-01-26T12:39:37Z</dc:date>
    <item>
      <title>Create flag to connect records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714124#M220414</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to create a flag to identify records. The aim is to avoid transactions that credit=debit on the same day. It´s a bit tricky because I have a count of days and I try to connect to the 2nd debit the credit, to avoid mistakes of count of days.&lt;/P&gt;
&lt;TABLE width="450"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="73"&gt;Agreement&lt;/TD&gt;
&lt;TD width="105"&gt;Effective_Date1&lt;/TD&gt;
&lt;TD width="64"&gt;Debit&lt;/TD&gt;
&lt;TD width="64"&gt;Credit&lt;/TD&gt;
&lt;TD width="144"&gt;Flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;10/09/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;750&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;750&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;260,75&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;260,75&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;260,75&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;260,75&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;TD&gt;11/09/2019&lt;/TD&gt;
&lt;TD&gt;260,75&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;04/08/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;11/08/2020&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;11/08/2020&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;11/08/2020&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;11/08/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;TD&gt;11/08/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;12/09/2020&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;21/09/2020&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;21/09/2020&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;21/09/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;21/09/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A3&lt;/TD&gt;
&lt;TD&gt;21/09/2020&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;100&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;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Mon, 25 Jan 2021 23:18:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714124#M220414</guid>
      <dc:creator>t34</dc:creator>
      <dc:date>2021-01-25T23:18:29Z</dc:date>
    </item>
    <item>
      <title>Re: Create flag to connect records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714126#M220415</link>
      <description>&lt;P&gt;Please give us some data we can run.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_blank" rel="nofollow noopener noreferrer noopener noreferrer"&gt;How to convert datasets to data steps&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Jan 2021 23:29:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714126#M220415</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-01-25T23:29:47Z</dc:date>
    </item>
    <item>
      <title>Re: Create flag to connect records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714153#M220428</link>
      <description>&lt;P&gt;Perhaps you could explain a bit better why these are the FLAG values, and why they would be helpful.&amp;nbsp; They seem both illogical and useless, although I'm sure you would not agree.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a different set of flags that could serve as a starting point for whatever you want to accomplish:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   set have;
   by agreement effective_date1 debit credit notsorted;
   if first.credit then flag=1;
   else flag + 1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jan 2021 03:46:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714153#M220428</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2021-01-26T03:46:05Z</dc:date>
    </item>
    <item>
      <title>Re: Create flag to connect records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714230#M220479</link>
      <description>&lt;P&gt;Are you coming from Europe ? Germany ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover expandtabs;
input Agreement $	Effective_Date1 : ddmmyy10.	(Debit	Credit) (: commax32.);
format Effective_Date1 ddmmyy10.;
cards;
A1	10/09/2019	0	30	 
A1	11/09/2019	0	750	 
A1	11/09/2019	0	750	 
A1	11/09/2019	0	260,75	1
A1	11/09/2019	260,75	0	1
A1	11/09/2019	260,75	0	 
A1	11/09/2019	260,75	0	 
A1	11/09/2019	260,75	0	 
A2	04/08/2020	0	1	 
A2	11/08/2020	150	0	 
A2	11/08/2020	150	0	2
A2	11/08/2020	150	0	3
A2	11/08/2020	0	150	2
A2	11/08/2020	0	150	3
A3	12/09/2020	100	0	 
A3	21/09/2020	100	0	5
A3	21/09/2020	100	0	4
A3	21/09/2020	0	100	4
A3	21/09/2020	0	100	5
A3	21/09/2020	0	100
;


data debit(drop=credit) credit;
 set have;
 if debit=0 then do;debit=credit;output credit;end;
 if credit=0 then  output debit;
run;
proc sort data=debit;by Agreement 	Effective_Date1 debit;run;
proc sort data=credit;by Agreement 	Effective_Date1 debit;run;
data temp;
 ina=0;inb=0;
 merge debit(in=ina) credit(in=inb);
 by Agreement 	Effective_Date1 debit;
 if not ina then debit=0;
 if not inb then credit=0;
 if ina and inb then flag=1;
 run;
 data temp;
  set temp;
  if flag then n+1;
run;
data want;
 set temp;
 if flag then do;dummy=n;debit=0;output;debit=credit;credit=0;output;end;
  else output;
  drop flag n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Jan 2021 12:39:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-flag-to-connect-records/m-p/714230#M220479</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-01-26T12:39:37Z</dc:date>
    </item>
  </channel>
</rss>

