sas - 我可以让 SAS 连接整个数据集文件夹吗?
问题描述
我正在处理的数据似乎每年都被分成几乎任意的集合。我想做的是能够首先将所有 .sas7bdat 文件连接到一个库中。我该怎么办?
或者,如果我知道库中文件可能分配的所有可能名称(但任何给定库中可能缺少许多文件),我怎样才能让 SAS 忽略丢失的文件?例如,假设我知道库中的所有 .sas7bdat 文件都有名称“set01”、“set02”、“set03”或“set04”之一。如果特定库(“L”)缺少其中之一,则数据步骤:
DATA temp;
SET L.set01 L.set02 L.set03 L.set04;
RUN;
会产生错误。假设我知道其中至少存在一个,是否有一个选项可以告诉 SAS 忽略丢失的?
(我知道这是两个完全不同的问题,但任何一个都可以解决我的直接问题。)
解决方案
在 SAS 中,SAS 有一种简单的方法可以自动选择以某个通用名称开头的数据集,您可以使用以下语句:
data temp;
set L.set0: ; /*It will search for all datasets that start with set0 and will set only those which are available*/
run;
它是否回答了您的查询?
第二种方法
libname L "Y:\Test Data";
proc sql;
select strip("L."||memname) into :DSNAME separated by ' '
from dictionary.tables
where libname='L';
quit;
/* Main final DS*/
data want;
set &DSNAME;
run;
它将提取 L 目录中的所有数据集名称,并创建宏变量 DSNAME 例如:L.set01 L.oth02 等,常用名称在这里无关紧要。
推荐阅读
- delphi - SVG 颜色问题:RED 颜色显示为 GREY
- javascript - 将一个数组排序为尽可能接近另一个数组
- bash - 如何将 StartExplorer Eclipse 插件指向 Bash?
- python - Plotly 表达 imshow 滑块崩溃
- php - json 数组的格式不正确。拉拉维尔
- vba - 选择范围对象中每个单元格的行 (VBA)
- html - 我的 CSS 列不相邻
- r - 使用R中的ggplot将geom_tile移动到绘图区域之外?
- mongodb - 查询包含在多边形中的所有轨迹(经度/纬度数组)的 Mongo DB
- angular - 在 Angular 中使用组件的选择器和 ComponentFactoryResolver 动态加载组件