<?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: Identify Unique Values in Data Set and Create New Fields in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922985#M44556</link>
    <description>&lt;P&gt;I think this is what you want, or close.&amp;nbsp; &amp;nbsp;You may need to sort by&amp;nbsp;&lt;CODE class=" language-sas"&gt;id exclude_ind.&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   infile cards dlm='09'x dsd;
   input id line exclude_ind reimb_amt;
   cards;
12345	01	00	20
12345	02	00	0
54321	01	01	10
54321	02	01	10
54321	03	00	5
34567	01	05	0
34567	02	05	15
34567	03	09	20
34567	04	03	10
;;;;
   run;
   
data want;
   set have;
   by id exclude_ind notsorted;
   id_count = first.id;
   exclude_ind_count = first.exclude_ind;
   run;   &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 543px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/95209i995D625E584322AD/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Apr 2024 14:28:13 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2024-04-04T14:28:13Z</dc:date>
    <item>
      <title>Identify Unique Values in Data Set and Create New Fields</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922976#M44553</link>
      <description>&lt;P&gt;Hi.&amp;nbsp; I have a data set that contains some variables that I need to identify if it's the first and only occurrence, or first of multiple, and create new fields in a new data set that can be reviewed further.&amp;nbsp; The data sets have thousands of lines.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's an example of what I am starting with:&lt;/P&gt;
&lt;TABLE width="269"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="42"&gt;id&lt;/TD&gt;
&lt;TD width="61"&gt;line&lt;/TD&gt;
&lt;TD width="83"&gt;exclude_ind&lt;/TD&gt;
&lt;TD width="83"&gt;reimb_amt&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;05&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;05&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;09&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;04&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;From the above data set, I want a field named id_count, which identifies unique id's.&amp;nbsp; Each unique id gets a value = 01.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to create a field called&amp;nbsp;exclude_ind_count, which is made of a value = 01 for each unique value in the exclude_ind field, within the unique id field.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, the resulting new data set looks like this:&lt;/P&gt;
&lt;TABLE width="471"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="42"&gt;id&lt;/TD&gt;
&lt;TD width="61"&gt;id_count&lt;/TD&gt;
&lt;TD width="83"&gt;line&lt;/TD&gt;
&lt;TD width="83"&gt;exclude_ind&lt;/TD&gt;
&lt;TD width="127"&gt;exclude_ind_count&lt;/TD&gt;
&lt;TD width="75"&gt;reimb_amt&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;54321&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;05&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;02&lt;/TD&gt;
&lt;TD&gt;05&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;09&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;34567&lt;/TD&gt;
&lt;TD&gt;00&lt;/TD&gt;
&lt;TD&gt;04&lt;/TD&gt;
&lt;TD&gt;03&lt;/TD&gt;
&lt;TD&gt;01&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;So, each id_count field should, when summed, = 1 for each unique id.&amp;nbsp; Basically I want a count of how many unique id's are in my data set.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And, as shown, within each unique id, each unique instance of exclude_ind has a resulting exclude_ind_count = 01.&amp;nbsp; So, when summed, I can get an idea of how many id's have either 1 exclude_ind, or multiple exclude_ind.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2024 14:08:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922976#M44553</guid>
      <dc:creator>JH74</dc:creator>
      <dc:date>2024-04-04T14:08:44Z</dc:date>
    </item>
    <item>
      <title>Re: Identify Unique Values in Data Set and Create New Fields</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922984#M44555</link>
      <description>&lt;P&gt;Is that id_count supposed to be numeric or character? Not at all clear as showing two characters makes it a bit odd.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is your data sorted by&amp;nbsp; ID?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If your data is at least grouped by ID (all the ID values in adjacent rows) AND the Exclude_ind are also grouped together then creating NUMERIC values for this is easy. If not grouped then you may need to provide an example of that data and what you expect, which might require sorting the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
  input id 	line 	exclude_ind 	reimb_amt;
datalines;
12345 	01 	00 	20
12345 	02 	00 	0
54321 	01 	01 	10
54321 	02 	01 	10
54321 	03 	00 	5
34567 	01 	05 	0
34567 	02 	05 	15
34567 	03 	09 	20
34567 	04 	03 	10
;

data want;
   set have;
   by id exclude_ind notsorted;
   id_count=first.id;
   exclude_ind_count=first.exclude_ind;
run;&lt;/PRE&gt;
&lt;P&gt;If you must see two digits for those variables then assign a Z2. format. Of you want a character version then use &lt;/P&gt;
&lt;P&gt;put(first.var,z2.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When you use BY group processing in a data step SAS provides automatic numeric 1/0 valued (1=true 0=false) variables FIRST. and LAST. for each variable on the By statement indicating whether the current observation is the first or last of that group.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2024 14:25:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922984#M44555</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2024-04-04T14:25:38Z</dc:date>
    </item>
    <item>
      <title>Re: Identify Unique Values in Data Set and Create New Fields</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922985#M44556</link>
      <description>&lt;P&gt;I think this is what you want, or close.&amp;nbsp; &amp;nbsp;You may need to sort by&amp;nbsp;&lt;CODE class=" language-sas"&gt;id exclude_ind.&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   infile cards dlm='09'x dsd;
   input id line exclude_ind reimb_amt;
   cards;
12345	01	00	20
12345	02	00	0
54321	01	01	10
54321	02	01	10
54321	03	00	5
34567	01	05	0
34567	02	05	15
34567	03	09	20
34567	04	03	10
;;;;
   run;
   
data want;
   set have;
   by id exclude_ind notsorted;
   id_count = first.id;
   exclude_ind_count = first.exclude_ind;
   run;   &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 543px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/95209i995D625E584322AD/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2024 14:28:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922985#M44556</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2024-04-04T14:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: Identify Unique Values in Data Set and Create New Fields</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922992#M44558</link>
      <description>Thank you.  I appreciate your help.  Pretty much the same answer as the other user added.  It worked.</description>
      <pubDate>Thu, 04 Apr 2024 14:40:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Identify-Unique-Values-in-Data-Set-and-Create-New-Fields/m-p/922992#M44558</guid>
      <dc:creator>JH74</dc:creator>
      <dc:date>2024-04-04T14:40:56Z</dc:date>
    </item>
  </channel>
</rss>

