Усечение таблицы SAS LASR

Я хочу обрезать таблицу, а не удалять ее при запуске кода. Как я могу изменить код с удаления существующей таблицы на усечение таблицы? В таблице SAS LASR есть строка кода, как показано ниже:

/* Drop existing table */
%vdb_dt(LIBNAME.TARGETLASRTABLE);

Причина этого заключается в том, что когда таблица и дизайнер отчетов перезагружаются одновременно, это приведет к тому, что дизайнер отчетов в SAS VA выдаст сообщение об ошибке «Источник данных (TARGETLASRTABLE) больше недоступен или был заменен. хотите выбрать новый источник данных?».

Поскольку таблица находится в коде, появится сообщение с подсказкой. чтобы избежать подсказки, я хотел бы изменить оператор drop на оператор truncate. Есть ли способ написать код инструкции truncate, чтобы заменить существующую таблицу? Пожалуйста, помогите, спасибо.


person Arzozeus    schedule 23.08.2016    source источник


Ответы (1)


Существует процедура, предназначенная для управления данными в SAS LASR Server. Он называется IMSTAT из In-Memory Statistics. Он также может выполнять операции статистического и прогнозного моделирования.

Но возвращаясь к вашему вопросу. Вы можете использовать процедуру IMSTAT для усечения таблицы.

/*LASR table truncation*/
proc imstat;
   table vadst.productanalysis;
   deleterows;
   deleterows / purge;
   run;
quit;

/*appending data to existing LASR table*/
data vadst.productanalysis(append=yes);
   set vasrc.productanalysis;
run;

table vadst.productanalysis; - выбирает таблицу LASR для работы.

deleterows; — помечает все строки для удаления, если ни один пункт WHERE не активен. Вы можете восстановить их.

deleterows / purge; — указывает удалить из памяти строки, помеченные для удаления. Память, которая использовалась строками, освобождается.

Если вы много работаете на LASR Server и в таблицах памяти, советую ознакомиться с этой процедурой. Вот документация: SAS® LASR ™ Аналитический сервер 2.7

person fl0r3k    schedule 23.08.2016