我有一个Excel标签,其中包含不同数据的多个部分。 例如,第1-57行是一个普通的excel数据表,具有各自的字段名称,但在第61行(屏幕截图底部的蓝色行)中,将启动一个新的表格数据部分。 在同一excel选项卡中的几个不同的表格数据部分重复此操作。 屏幕截图示例

我想将此excel选项卡导入SAS,然后将每个表格数据节作为自己的表输出,我考虑过使用蓝色行节名称来确定它是新节的开始,但是我不是确切确定如何使用此方法并将其转换为SAS代码。

提前致谢。

===============>>#1 票数:0 已采纳

给您的两个想法。 首先,如果它是一个很小的文件,并且您知道所有节头的名称,则可以执行以下操作:

data example;
input id $ var1 - var5;
datalines;
NameA   .   .   .   .   .
A1  11  11  21  24  14
A2  9   8   1   2   3
A3  4   4   3   4   3
A4  2   9   1   2   4
Total   26  32  26  32  24
 "" .   .   .   .   .
NameB   .   .   .   .   .
B1  3166    4135    1186    3775    5641
run;


data step1;
set example;
    retain tablenum 0;
    if id in ("NameA", "NameB", "NameC") then tablenum + 1;
run; 

data table1 table2 /*table... all the way to table N*/;
set step1;
 select (tablenum);
    when (1) do; output table1; end;
    when (2) do; output table2; end;

    *when (N) do; *output tableN; *end;
    end;
run;

如果您知道所有中断在哪里,则可以做的另一件事是使用proc import分段解决它,并使用range告诉SAS每个表的开始和停止位置(此示例假设您的excel电子表格进入Z列,而第二个表转到第140行):

PROC IMPORT OUT= WORK.tableA DATAFILE= "C:\xlsfile.xlsx"
 DBMS=EXCEL REPLACE; Range = "SheetName$A1:Z57"; 
RUN;

PROC IMPORT OUT= WORK.tableB DATAFILE= "C:\xlsfile.xlsx"
 DBMS=EXCEL REPLACE; Range = "SheetName$A61:Z140"; 
RUN;  

  ask by Roger Luo translate from so

未解决问题?本站智能推荐:

1回复

SAS-使用宏以Excel格式输出结果

我使用以下代码将结果导出为ex​​cel文件。 但是,每次结果都以文件类型输出。 我必须手动将其类型更改为excel。 我尝试将.xls放在&from.&&memname&i ,但是SAS无法识别这种格式。 我认为可能的原因是.x ,但是我不知道如何解决此
1回复

将文件从Excel导入SAS错误消息

我正在尝试将2007 MS Excel导入SAS 。 我使用SAS 9.2. 已安装PC文件的Acces模块。 我使用了下一个代码: 不过, SAS向我显示了下一条消息: 错误:连接:外部表没有预期的格式。 错误:LIBNAME语句中的错误。 连接失败。 有关详细信
2回复

将Excel文件导入SAS:命名范围超过32个字符

我有一个(2010)excel文件,该文件的长名称是我要导入SAS的工作表。 作为一个虚拟示例,假设此工作表的名称足够长 (此名称长30个字符-因此在2010 excel中可以作为工作表名称使用)。 现在,假设我只想在此表中导入范围C6:G200 。 现在,我应该能够通过在proc imp
1回复

SAS:使用libname导入Excel文档

我正忙着浏览SAS University版本的教程。 我正在尝试使用以下行从.xlsx文件导入数据: 以下是一些我认为可能相关的详细信息:我正在运行32位Excel。 我想我有32位SAS,但不确定如何检查。 我已经运行了proc setinit; 结果如下: 我认为相关
1回复

SAS导入Excel日期格式更改

我需要导入一个Excel,该Excel有几列,第一列A是日期列。 A列的日期格式为DDMMMYYYY,例如'01Jan2017',在excel中,数据类型为日期类型。 但是,当我将其导入SAS时,所有其他列都保持相同的数据类型(数字,字符等)和值。 但是列A变成一个数字,例如(对于'01J
1回复

从Excel行导入SAS列名称

我正在尝试从如下所示的XLSX Excel文件创建SAS表。 SAS列名称将在Excel文件中的第三行,并从第五行读取数据。 我正在使用proc import来收集表,如下所示: 问题在于, Proc Import会像其他Excel文件一样以数字格式在第三行中使用列名,因此SA
3回复

SAS导入-文件不存在

我正在尝试将excel工作表导入SAS,但是由于某些原因,SAS无法找到工作簿。 这是代码和我得到的错误: 错误:XLSX文件不存在-> /config/Lev1/SASApp/C:\\Users\\me\\Documents//Transactions.xlsx 我必须先
1回复

SAS-Excel导入日期时间未保留足够的有效数字

如标题所示,将日期时间从Excel导入SAS时遇到问题。 问题似乎在于几秒钟: 这是来自excel的示例数据: 我的日期时间: 这是原始的excel数字: 编辑2: 当我将它们导入SAS时,这就是SAS显示它们的方式: 和数值: 我试
1回复

选项卡名称带有美元符号时,SAS proc导入Excel

嗨,我有一个Excel文件,其中2个工作表的工作表名称中带有美元符号。 我不允许更改工作表名称。 我试图使用“范围”它不起作用。 有没有办法阅读这两张纸? 谢谢!
1回复

将xlsx导入SAS时出错

我正在尝试将电子表格的标签导入SAS。 我正在使用下面的代码。 并得到错误信息 错误:XLSX文件不存在-> [目录...] \\ 4。 媒体\\ 2。 广告系列信息\\ Tracking_Sheet_JA.xlsx 我认为这可能与空格或空格有关。 在目录中,但