powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SAS
8 сообщений из 8, страница 1 из 1
SAS
    #36787316
panasonic85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу автоматизировать процесс работы и столкнулся с небольшой проблемой... Задача свелась к следующей:
Имеется таблица, в которой содержится расположение список нужных таблиц из двух колонок:
number Name
1 "Library.table1"
2 "Library.table2"
................
название таблиц может совершенно не взаимосвязанное

Нужно написать скрипт, который объединял все записанные в таблице таблицы.
Изначально хотел написать цикл, внутри которого задавал бы переменной название таблицы. Но к сожалению такая запись
%let z_Name=(select name from Table where number=1);
воспринимается не как точное расположение таблицы, а просто как ячейка... Как быть???
...
Рейтинг: 0 / 0
SAS
    #36788816
гость123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясни суть задачи. Чем тебя вьюхи sashelp.vstable и sashelp.vtable не устраивают ?
...
Рейтинг: 0 / 0
SAS
    #36789700
panasonic85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как раз эти таблицы и использую)
я хочу сделать так, чтобы можно было автоматически, запустив скрипт, объединить неизвестное количество таблиц (с одинаковой структурой), которые хранятся в одной библиотеке и начинаются с определенного словосочетания.
...
Рейтинг: 0 / 0
SAS
    #36790188
гость123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну тогда при чтении из вьюх используй symput и symget на шаге данных, в итоге получишь желаемую макропеременную со списком таблиц, отобранных по определенной маске... вечерком пример скину, валялся где-то дома
...
Рейтинг: 0 / 0
SAS
    #36791596
гость123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот как то так... видимо set_name нужно проинициализировать пробелом иначе при _N_=1 в error уйдет, к сожалению, для отладки, трех окон под рукой нет...

data _null_ ;
set sashelp.vtable;
if memname eq <условие отбора> then call symput('set_name',trim(symget('set_name')||'<имя библиотеки>.'||memname)||' ');

run;
...
Рейтинг: 0 / 0
SAS
    #36792710
panasonic85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Насколько понимаю _Null_ значит не выводить на экран?
но так и не понял смысл действия функций symput и symget...
...
Рейтинг: 0 / 0
SAS
    #36801404
panasonic85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо все получилось))))
есть небольшой вопрос, а как из памяти убрать присвоение:
%let n="something";
надо удалить это. как сделать?
...
Рейтинг: 0 / 0
SAS
    #36804036
panasonic85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал просто
%let n='';
и все обнулилось))))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SAS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]