<?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: Proc import in macro function : OUT argument, remove last character in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841895#M36498</link>
    <description>&lt;P&gt;Do you always want to remove the last 5 characters?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let dsn=%substr(&amp;amp;devoir1,1,%length(&amp;amp;devoir1)-5);
...
out=&amp;amp;dsn&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or do you want to remove anything after the last underscore?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let dsn=&amp;amp;devoir1;
%if %index(&amp;amp;dsn,_)&amp;gt;1 %then 
  %let dsn=%substr(&amp;amp;dsn,1,%length(&amp;amp;dsn)-%length(%scan(&amp;amp;dsn,-1,_))-1)
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 01 Nov 2022 15:28:33 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-11-01T15:28:33Z</dc:date>
    <item>
      <title>Proc import in macro function : OUT argument, remove last character</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841893#M36497</link>
      <description>&lt;P&gt;Hi Sas community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to the sas software so forgive me if I make rookie mistakes. I've got multiple CSV file that I want to import in SAS with a macro-function.&lt;/P&gt;&lt;P&gt;All those files names end with&amp;nbsp;&lt;STRONG&gt;"_2018"&lt;/STRONG&gt; that &lt;STRONG&gt;I want to remove&lt;/STRONG&gt; when importing datafile.&lt;/P&gt;&lt;P&gt;Some files names have only one underscore, and some have two. Example :&lt;/P&gt;&lt;P&gt;games_2018&lt;/P&gt;&lt;P&gt;box_scores_2018&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what I got so far :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;%macro import(devoir1);

FILENAME REFFILE "C:\mypath\&amp;amp;devoir1..csv";

	PROC IMPORT
		DATAFILE=REFFILE 
		DBMS=CSV
		OUT= %sysfunc(compress(&amp;amp;devoir1. ,"_2018")) REPLACE; 
		GETNAMES=YES;
	RUN;

%mend import;

%import (box_scores_2018);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;So this code works, but remove all "_" from the name, so that &lt;STRONG&gt;"box_score_2018"&lt;/STRONG&gt; is import as &lt;STRONG&gt;"boxscore"&lt;/STRONG&gt;. I would like to keep the first on to get "&lt;STRONG&gt;box_score".&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If someone has an idea on how to do this, it would be very appreciated!&lt;/P&gt;&lt;P&gt;Thanks a lot!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2022 15:11:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841893#M36497</guid>
      <dc:creator>FredLag</dc:creator>
      <dc:date>2022-11-01T15:11:26Z</dc:date>
    </item>
    <item>
      <title>Re: Proc import in macro function : OUT argument, remove last character</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841895#M36498</link>
      <description>&lt;P&gt;Do you always want to remove the last 5 characters?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let dsn=%substr(&amp;amp;devoir1,1,%length(&amp;amp;devoir1)-5);
...
out=&amp;amp;dsn&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or do you want to remove anything after the last underscore?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let dsn=&amp;amp;devoir1;
%if %index(&amp;amp;dsn,_)&amp;gt;1 %then 
  %let dsn=%substr(&amp;amp;dsn,1,%length(&amp;amp;dsn)-%length(%scan(&amp;amp;dsn,-1,_))-1)
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 01 Nov 2022 15:28:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841895#M36498</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-11-01T15:28:33Z</dc:date>
    </item>
    <item>
      <title>Re: Proc import in macro function : OUT argument, remove last character</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841896#M36499</link>
      <description>The first option! Thanks a lot!!</description>
      <pubDate>Tue, 01 Nov 2022 15:30:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841896#M36499</guid>
      <dc:creator>FredLag</dc:creator>
      <dc:date>2022-11-01T15:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: Proc import in macro function : OUT argument, remove last character</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841897#M36500</link>
      <description>&lt;P&gt;You probably could use the FIND function to find the string '_2018', and then delete everything before that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro import(devoir1);
data _null_;
    z=find("&amp;amp;devoir1",'_2018');
    new_name=substr("&amp;amp;devoir1",1,z-1);
    call symputx('new_name',new_name);
run;

FILENAME REFFILE "C:\mypath\&amp;amp;devoir1..csv";

	PROC IMPORT
		DATAFILE=REFFILE 
		DBMS=CSV
		OUT=&amp;amp;new_name REPLACE; 
		GETNAMES=YES;
	RUN;

%mend import;

%import (box_scores_2018)&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 01 Nov 2022 15:36:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-import-in-macro-function-OUT-argument-remove-last-character/m-p/841897#M36500</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-11-01T15:36:56Z</dc:date>
    </item>
  </channel>
</rss>

