SAS - правильное создание имени файла переменной

Я пытаюсь создать переменное имя файла.

ods pdf file = "D: \ FileDirectory \ && mFileNameVariable & I .pdf" notoc;

Это создает имя файла переменной, но добавляет пробел перед расширением (например, FileName .pdf; мне нужно FileName.pdf).

Я читал, что можно сделать что-то вроде этого:

ods pdf file = "D: \ FileDirectory \ && mFileNameVariable & I..pdf" notoc;

Чтобы добавить точку для расширения; однако, когда я пытаюсь использовать этот макрос, я получаю значение WYSIWYG (например, && mFileNameVariable & I.pdf).

Я предполагаю это потому, что моя строка заканчивается на «& I».

Другое решение, о котором я подумал, но оно кажется ненужным / обходным путем, - это обрезать (FilePathAndName) и / или объединить значения кошек (FilePathAndName FileExtension) по отдельности.

Мы очень ценим любые идеи или отзывы, заранее благодарим вас за ваше время и помощь.

Ваше здоровье!


person RAPB    schedule 11.04.2012    source источник


Ответы (1)


Поскольку вы выполняете два прохода через процесс разрешения макроса, вам понадобится дополнительный период между именем файла и расширением (всего три, 2 будут пережевываться во время разрешения макроса, один для представления разделителя).

e.g.

%let mFileNameVariable1=myfile;
%let l=1;
ods pdf file="C:\Temp\&&mFileNameVariable&l...pdf" notoc;  /*note 3 periods!!*/

В журнале

NOTE: Writing ODS PDF output to DISK destination "C:\Temp\myfile.pdf", printer "PDF".
person cmjohns    schedule 11.04.2012