截断SAS LASR表

时间:2016-08-23 01:53:23

标签: sql sas proc-sql

我想截断表而不是在运行代码时删除表。如何更改代码,从删除现有表到截断表?在SAS LASR表中,有一行代码如下:

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

之所以这样做,是因为当表和报表设计器同时重新加载时,会导致SAS VA中的报表设计器提示错误消息“数据源(TARGETLASRTABLE)不再可访问,或已被你想要选择一个新的数据源吗?“

由于表格在代码中丢失,因此会出现提示消息。为了避免提示消息,我想将drop语句更改为truncate语句。有没有办法编写truncate语句代码来替换drop existing table?请帮忙,谢谢。

1 个答案:

答案 0 :(得分:0)

有一个过程旨在管理SAS LASR Server中的数据。它从内存统计中称为IMSTAT。它还可以执行统计和预测建模操作。

但回到你的问题。您可以使用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™ Analytic Server 2.7