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.
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;