<?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: Conditionally Deleting First Digit in a Variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351558#M273733</link>
    <description>&lt;P&gt;Is CellPhoneNo&amp;nbsp;a numeric or character variable?&lt;/P&gt;</description>
    <pubDate>Thu, 20 Apr 2017 06:32:25 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2017-04-20T06:32:25Z</dc:date>
    <item>
      <title>Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351551#M273732</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a variable called CellPhoneNo (cell phone numbers) that I want to look like this: 555-222-3333. This is what most look like: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5552223333&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;but some people included a 1 so now&amp;nbsp;I also have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;15552223333&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My goal is to add a format to change this to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;555-222-3333.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I do this if some numbers start with a 1? I was thinking of eliminating the "1" and then applying the format. But is there a way to just add a dash in starting from the right, 4 digits in, and then keep going after 3, and then after 1 place in case there is a "1" at the beginning?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Thanks!&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;Gina&lt;/P&gt;</description>
      <pubDate>Thu, 20 Apr 2017 05:47:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351551#M273732</guid>
      <dc:creator>ginak</dc:creator>
      <dc:date>2017-04-20T05:47:24Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351558#M273733</link>
      <description>&lt;P&gt;Is CellPhoneNo&amp;nbsp;a numeric or character variable?&lt;/P&gt;</description>
      <pubDate>Thu, 20 Apr 2017 06:32:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351558#M273733</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-04-20T06:32:25Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351574#M273734</link>
      <description>&lt;P&gt;Here we are again. &amp;nbsp;&lt;U&gt;&lt;STRONG&gt;Post test data in the form of a datastep.&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Personally I use formats very little, so I would just do:&lt;/P&gt;
&lt;P&gt;phone_no=catx('-',substr(var,lengthn(var)-9,3),substr(var,lengthn(var)-6,3),substr(var,lengthn(var)-3));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not seeing the point of keeping something which doesn't have to be numeric as numeric. (I.e. area codes in brackets)&lt;/P&gt;</description>
      <pubDate>Thu, 20 Apr 2017 08:30:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351574#M273734</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-20T08:30:43Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351579#M273735</link>
      <description>Formatting numeric in phone number style is/was a standard demo example for user-defined formats&lt;BR /&gt;Check the on-line doc</description>
      <pubDate>Thu, 20 Apr 2017 08:48:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351579#M273735</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-04-20T08:48:26Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351603#M273736</link>
      <description>&lt;P&gt;Assuming it is numeric variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;


proc format;
picture fmt
 other='000-000-0000';
run;
data have;
input x;
p=int(log10(x));
if p=10 then x=mod(x,10**p) ;
format x fmt.;
drop p;
cards;
5552223333
15552223333
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 20 Apr 2017 10:49:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351603#M273736</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-04-20T10:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351605#M273737</link>
      <description>&lt;P&gt;Hi Gina&amp;nbsp;@ginak&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;as I couldn't find it in current doc, here (thank you &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13549"&gt;@Cynthia_sas&lt;/a&gt;&amp;nbsp;)&amp;nbsp;is a link to an old posting about creating and using a&amp;nbsp;user-defined format for phone numbers &amp;nbsp;&lt;A href="http://communities.sas.com/t5/SAS-Enterprise-Guide/format-phone-number/m-p/6001" target="_self"&gt;communities.sas.com/t5/SAS-Enterprise-Guide/format-phone-number/m-p/6001&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;hope it works for you&lt;/P&gt;
&lt;P&gt;peterC&lt;/P&gt;</description>
      <pubDate>Thu, 20 Apr 2017 10:52:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351605#M273737</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-04-20T10:52:46Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351608#M273738</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;as the format is defined to present just those 10 digits, it is any removing leading digits when wider than 10, so I don't think it needs selective processing&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;peterC&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Apr 2017 11:01:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/351608#M273738</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-04-20T11:01:19Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352430#M273739</link>
      <description>RW9&lt;BR /&gt;surprising !&lt;BR /&gt;you miss so much value</description>
      <pubDate>Sat, 22 Apr 2017 14:37:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352430#M273739</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-04-22T14:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352747#M273740</link>
      <description>&lt;P&gt;No, not really. &amp;nbsp;Formats can be useful multi level formats in some procedures and formats on graphs. &amp;nbsp;However I am really against any proprietary file format, compiled macros, functions, formats, etc. &amp;nbsp;If I could use CSV like datasets I would drop datasets also. &amp;nbsp;The move from 32bit to 64bit has really highlighted how restrictive and future falible such formats are.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 08:17:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352747#M273740</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-24T08:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352933#M273741</link>
      <description>&lt;P&gt;while I won't argue SAS's case for the lack of migration support into 64bit from 32, I can only compare the scenario (incompatability of format catalogs between 32 and 64bit) to almost all other applications, where equally there is the equivalent of a transport file in .csv or .xml format -&lt;/P&gt;
&lt;P&gt;here we should (easily) keep "permanent" formats converted to .csv (via cntlout ds) - providing no version dependency.&lt;/P&gt;
&lt;P&gt;I would not recommend keeping macros in compiled catalogs - perhaps we should be saying the same about compiled formats.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 16:23:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352933#M273741</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-04-24T16:23:15Z</dc:date>
    </item>
    <item>
      <title>Re: Conditionally Deleting First Digit in a Variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352942#M273742</link>
      <description>&lt;P&gt;Interesting case of seeing how PICTURE formats work.&lt;/P&gt;
&lt;P&gt;By using '0' instead of '9' for the digit locations you can allow SAS to basically trim on the left.&lt;/P&gt;
&lt;P&gt;So this format definition will work for numberic values that are either with or without the leading 1 .&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;picture phonefmt other='0-000-000-0000';&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;So a little test.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1755  data have;
1756    input x;
1757    put x phonefmt. x comma15.;
1758  cards;

  201-555-1234  2,015,551,234
1-212-555-9876 12,125,559,876
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It doesn't work so well if you want to use () around the area code. Since then without the extra digit in front you do not get the opening paren.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  201)555-1234  2,015,551,234
1(212)555-9876 12,125,559,876&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you want to add the extra one.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if . &amp;lt; phone &amp;lt; 10**10 then phone=phone+10**10;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2017 16:55:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditionally-Deleting-First-Digit-in-a-Variable/m-p/352942#M273742</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-04-24T16:55:16Z</dc:date>
    </item>
  </channel>
</rss>

