SAS在列中找到第一个值并获取行号

问题描述 投票:0回答:2

我正在尝试导入并清理一些文件,其中第1列的第一行包含描述和列名称。数据在包含“BEGINDATA”的行之后开始。是否可以在sas表中搜索“BEGINDATA”并将行号分配给宏变量?在下一个数据步骤中,我可以使用firstobs =宏变量来仅加载数据。

谢谢你的提示!

sas position
2个回答
0
投票

在它已经“导入”后你可以做的不多。但是,如果您的源文件只是一个文本文件,那么读取它的数据步骤可以在读取数据的同一步骤中跳过前缀。

data want;
  infile 'myfile.csv' dsd truncover ;
  input test :$20. @1 @;
  do while (test ne 'BEGINDATA');
     input ;
     input test :$20. @1 @;
  end;
  * Code to read the actual data lines ;
run;
© www.soinside.com 2019 - 2024. All rights reserved.