Reputation: 346
I create my variable like this:
data Concat_var;
Table_periode_MDR = CAT("\\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Output_Daglig_LCR\MDR_korrektion.csv");
Table_periode_Dagligkorr = CAT("\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Månedlig_LCR_RLI\WORK_QUERY_FOR_DAGLIGEKORREKTIONER.csv");
Table_periode_weights_m = CAT("\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Månedlig_LCR_RLI\Weights_M.csv");
Table_periode_weights_d = CAT("\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Output_Daglig_LCR\Weights_D.csv");
Table_periode_W_D_LCR = CAT("\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Output_Daglig_LCR\W_D_LCR.csv");
Table_periode_W_M_LCR = CAT("\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\",&Periode,"\RLI\Månedlig_LCR_RLI\W_M_LCR.csv");
run;
PROC SQL NOPRINT;
SELECT DISTINCT
Table_periode_MDR,
Table_periode_Dagligkorr,
Table_periode_weights_m,
Table_periode_weights_d,
Table_periode_W_D_LCR,
Table_periode_W_M_LCR
INTO :Table_periode_MDR,
:Table_periode_Dagligkorr,
:Table_periode_weights_m,
:Table_periode_weights_d,
:Table_periode_W_D_LCR,
:Table_periode_W_M_LCR
FROM Concat_var;
When looking in the "Concat_var" everything looks right.
The issue is that when I use the string to import files like this:
proc import datafile=&Table_periode_MDR
out=MDR_korrektion
replace
dbms=csv
replace;
getnames=yes;
delimiter=';';
run;
But I get an error because the string is only:
\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\202208\RLI\Output_Daglig_LCR\MDR_ko
How can I get the whole string when I create my variable?
I hope you can point me in the right direction.
Upvotes: 0
Views: 42
Reputation: 12909
cat()
automatically sets the variable length to 200, and your text is within that range so that does not appear to be the issue.
Although I cannot directly recreate your results, consider creating your macro variables directly. You do not need to use a separate data step with a SQL :into to concatenate them. The macro processor automatically knows where macro variables start and end with &
and .
%let folder = \\Afdeling\HS-OKO\Oko\Likviditet\Likviditetsstyring\LCR\Indberetning\2022\;
%let Table_periode_MDR = &folder.\&periode.\RLI\Output_Daglig_LCR\MDR_korrektion.csv;
%let Table_periode_Dagligkorr = &folder.\&periode.\RLI\Månedlig_LCR_RLI\WORK_QUERY_FOR_DAGLIGEKORREKTIONER.csv;
%let Table_periode_weights_m = &folder.\&periode.\RLI\Månedlig_LCR_RLI\Weights_M.csv;
%let Table_periode_weights_d = &folder.\&periode.\RLI\Månedlig_LCR_RLI\Weights_M.csv;
%let Table_periode_W_D_LCR = &folder.\&periode.\RLI\Output_Daglig_LCR\W_D_LCR.csv;
%let Table_periode_W_M_LCR = &folder.\&periode.\RLI\Månedlig_LCR_RLI\W_M_LCR.csv;
Upvotes: 1