gpt4 book ai didi

database - SAS:从多个数据集创建多个文件

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:39 24 4
gpt4 key购买 nike

我有 24 个结构相同的数据集。我的意思是相同的列标题(时间、日期、价格、股票代码)、数据集结构等。我不想附加所有 24 个文件,因为一个数据集太大而无法处理。我将所有数据集命名为“file1 file2 file3 file4 ....up to file24”。

我想做的是:

  1. 例如一次更改我所有 24 个文件中的日期格式;

  2. 能够从每个文件#中提取特定的股票代码,例如“Dell”,并附加所有提取的“Dell”数据;

  3. 最后,我如何创建一个循环,允许我将股票代码从“Dell”更改为列表中的另一个股票代码,例如“Goog”?我希望该循环对我所有的股票代码执行 (2)。

最佳答案

  1. 要更改数据集中的日期格式,遍历所有观察结果可能不是一个好主意。标准语法是 -

    proc 数据集库 = your_libname nolist; 修改数据集名称; 格式变量名格式名;退出;

鉴于修改语句不接受多个 SAS 文件,您必须将它包装在所有 24 个文件的宏中

%macro modformats();
proc datasets library = <your libname> nolist;
%do i = 1 %to 24;
modify file&i;
format <variable name> <format name>;
%end;
quit;
%mend modformats;
  1. 要提取和附加所有“Dell”相关数据,最好使用 View 。

比如你先定义一个view(注意这里没有创建叫'all_files'的物理数据集)-

data all_files / view = all_files;
set file1 file2... file24;
run;

然后你可以写-

data dell;
set all_files;
where ticker = 'DELL';
run;

关于database - SAS:从多个数据集创建多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10959678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com