<?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: Finding values and creating datasets in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529762#M144804</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/226241"&gt;@AMSAS&lt;/a&gt;&amp;nbsp; &amp;nbsp;if you are using an extract function but extracting no more than 1 byte of length&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;substr&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;sp440&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;can be replaced by&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;char&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;sp440&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Imho, substr is at best when length to extract exceeds 1 to n bytes&lt;/P&gt;</description>
    <pubDate>Thu, 24 Jan 2019 17:17:24 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2019-01-24T17:17:24Z</dc:date>
    <item>
      <title>Finding values and creating datasets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529751#M144796</link>
      <description>&lt;P&gt;In the attached file you will see a variable form which I need to be able to create three datasets&lt;/P&gt;&lt;P&gt;1st dataset(Missing) : find values that contain missing values in any of the 23 characters of the variable SP440&lt;/P&gt;&lt;P&gt;2nd dataset(Unknown) find values that contain 8 in the 1st character or 9 in any of the total 23 characters&amp;nbsp;&lt;/P&gt;&lt;P&gt;3rd dataset (Invalid entries): find values that contain any value other than P,Y, N or 8 in the 1st character&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please advise how would I write a code to create these three datasets&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2019 16:49:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529751#M144796</guid>
      <dc:creator>Ranjeeta</dc:creator>
      <dc:date>2019-01-24T16:49:44Z</dc:date>
    </item>
    <item>
      <title>Re: Finding values and creating datasets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529755#M144798</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data missing unknown invalid;

set have;

if anyspace(SP440) then output missing;
else if first(SP440)='8' or  index(SP440,'9')&amp;gt;0 then output unknown;

else if first(SP440) not in ('P','Y','N','8') then output invalid;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2019 17:01:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529755#M144798</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-01-24T17:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: Finding values and creating datasets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529759#M144801</link>
      <description>Thankyou for your quick reply really appreciate it will try it out&lt;BR /&gt;Regards</description>
      <pubDate>Thu, 24 Jan 2019 17:04:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529759#M144801</guid>
      <dc:creator>Ranjeeta</dc:creator>
      <dc:date>2019-01-24T17:04:01Z</dc:date>
    </item>
    <item>
      <title>Re: Finding values and creating datasets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529760#M144802</link>
      <description>&lt;P&gt;Here's another way to do it. Note I create another dataset "other" which contains observations that would not go into the other 3 datasets.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data input ;
	input sp440 $23. ;
cards;
Y03270745270816Y270858Y
Y03180759180957Y181033Y
Y04090027090253Y090314Y
Y04100841100926Y101003Y
Y04170832170903Y170931Y
P        172043Y172100Y
P        232235Y232256Y
P        262212Y262244Y
P        282020Y282046Y
Y04292040292109Y292125Y
Y04300524300559Y300638Y
Y04292358300122Y300139Y
Y05131507131627Y131745Y
Y05160528160600Y160619Y
Z05151244151410N      N
I05221247221314Y221332Y
Y05201954202145Y202204Y
Y05211103211138Y211156Y
Y06051414051446Y051520Y
Y06082303090126Y090142Y
run ;

data missing unknown invalid other;
	set input ;
	if substr(sp440,1,1) not in ("P","Y","N","8") then 
		output invalid ;
	else if substr(sp440,1,1) = "8" or find(sp440,"9") then
		output unknown ;
	else if find(sp440," ") then
		output missing ;
	else
		output other ;
run ;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 24 Jan 2019 17:10:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529760#M144802</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2019-01-24T17:10:40Z</dc:date>
    </item>
    <item>
      <title>Re: Finding values and creating datasets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529762#M144804</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/226241"&gt;@AMSAS&lt;/a&gt;&amp;nbsp; &amp;nbsp;if you are using an extract function but extracting no more than 1 byte of length&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;substr&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;sp440&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;can be replaced by&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;char&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;sp440&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Imho, substr is at best when length to extract exceeds 1 to n bytes&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jan 2019 17:17:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-values-and-creating-datasets/m-p/529762#M144804</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-01-24T17:17:24Z</dc:date>
    </item>
  </channel>
</rss>

