我想从SAS 9.3 GUI中删除/删除/取消分配标准SAS库。
我尝试了两种解决方案来删除一个没有工作的库:
%sysfunc(libname(maps))
导致: ERROR 180-322: Statement is not valid or it is used out of proper order.
我无权修改该目录中的(C:\ Program Files ...)文件
谢谢!
图书馆是: - 地图
Mapsgfk
Mapssas
Sashelp
SASUSER
答案 0 :(得分:1)
您可以删除与地图相关的libnames,但代价是没有可用的地图文件,并且可能会丢失某些功能。
如果您将基本配置文件复制到其他位置,请将其复制到操作系统的Files Used By SAS中提到的预定义位置之一(我链接到Windows版本,但Unix有{{3} });或者到快捷方式中-CONFIG
选项上指定的位置,例如:
"C:\Program Files\SAS94\SASFoundation\9.4\sas.exe" -CONFIG "C:\temp\sasv9_nolibs.cfg"
您可以在没有对通常存储配置文件的Program Files目录的写访问权的情况下执行此操作。如果这样做,则可以通过删除-MAPS和相关行来自定义它。然后不会创建那些库;在这种情况下,只创建SASHELP,SASUSER和WORK,如下所示:
删除SASUSER似乎不可能,因为当您可以删除配置文件中的-SASUSER
选项时,它仍会创建SASUSER文件夹。
不幸的是,删除-SASHELP
选项会导致SAS在初始化时崩溃; SASHELP包含许多用于SAS功能的核心文件,如果没有它,SAS就无法工作。请参阅以下屏幕截图。
因此,您可以使用3个库,但不能再进一步了。
答案 1 :(得分:0)
不确定是否可以在不更改系统范围的config.sas文件的情况下删除它们。但是您可以将MAPS选项指向空设备,以便它们找不到任何数据集。这是PROC OPTIONS的输出。
MAPS=!SASROOT/maps
Specifies the location of SAS/GRAPH map data sets.
MAPSGFK=!SASROOT/mapsgfk
Specifies the location of GfK maps.
MAPSSAS=!SASROOT/maps
Specifies the location of SAS map data sets.
您可以使用命令行选项指向这两个不同的位置。
sas -maps /dev/nul -mapsgfk /dev/nul -mapssas /dev/nul
仍将创建libref,但不会找到任何成员。
您可能会为SASUSER执行类似的操作,但您可能还需要添加-rsasuser
选项,以便SAS知道创建一个WORK.PROFILE来代替正常的SASUSER.PROFILE目录。< / p>
我认为您不想删除SASHELP libref,因为我认为如果没有能够找到通过该libref提供的内容,SAS中有很多东西是行不通的。
答案 2 :(得分:0)
你得到了180-322,因为libname函数返回一个值,你用开放代码调用它,它生成的代码无效。
scala.math.min(
inputDF.select(min($"pickup_longitude")).head.getFloat(0),
inputDF.select(min($"dropoff_longitude")).head.getFloat(0)
)
如上所述,您将看到该值。但是看起来你无法清除LIBREF MAPS。