data WORK.NEW; do i=1,2,3; Next=cats('March'||i); infile 'D:\sasdata\RAWDATA.txt' filevar=Next end=Eof; do until (Eof); input Dept $ Sales; end; end; run; 为什么出现这个错误?怎么改正? ERROR: 物理文件引用(如 PHYSICAL FILE REFERENCE)或聚合的文件存储引用(如 AGGREGATE(MEMBER))不能和 FILEVAR= 选项一起使用。
时间: 2024-02-14 13:15:08 浏览: 22
出现这个错误的原因是在infile语句中使用了filevar选项,但同时又使用了物理文件引用。filevar选项用于将文件引用存储在一个变量中,而物理文件引用则直接指定文件路径。这两种方式不能同时使用。为了解决这个问题,可以使用其中一种方式来指定文件。如果你想使用filevar选项,则需要将物理文件引用替换为一个变量,如下所示:
```
data WORK.NEW;
do i=1,2,3;
Next=cats('March',i);
filename myfile 'D:\sasdata\RAWDATA.txt';
infile myfile filevar=Next end=Eof;
do until (Eof);
input Dept $ Sales;
end;
end;
run;
```
以上代码中,使用了filename语句来指定文件路径,并且将文件引用存储在myfile变量中。然后在infile语句中使用filevar选项来读取文件,同时将文件引用变量设置为Next。这样就可以避免出现上述错误。
相关问题
data WORK.NEW; do i=1,2,3; Next=cats('March'||i); infile 'D:\sasdata\RAWDATA.txt' filevar=Next end=Eof; do until (Eof); input Dept $ Sales; end; end; run; 为什么出现
这段代码有一些错误,无法运行。首先,在do循环中,需要使用逗号(,)而不是分号(;)来分隔循环变量的步长。其次,在读取文件时,需要使用一个有效的文件路径,例如'D:\sasdata\RAWDATA.txt'。最后,在读取文件时,需要使用一个有效的文件变量名,例如filevar=Next,其中Next是一个字符变量。请修复这些错误并尝试再次运行代码。
data WORK.NEW; do i=1, 2, 3; Next=cats('March' || i ); infile XYZ filevar=Next end=Eof; do until (Eof); input Dept $ Sales; end; end; INFILE语句中的 FILEVAR=选项的作用是指定新文件的输出位置 run; 帮我讲解一下这段代码
这段代码的功能是读取一个名为XYZ的文件,该文件包含了不同部门的销售数据,并将其输出到一个新的文件中。新文件的文件名由循环变量i和'March'字符串连接而成。具体解释如下:
1. `data WORK.NEW;`:创建一个名为NEW的新数据集。
2. `do i=1, 2, 3;`:循环变量i从1开始,每次增加3,直到i大于3时退出循环。
3. `Next=cats('March' || i );`:将'March'字符串和循环变量i连接起来,并将结果赋值给变量Next。
4. `infile XYZ filevar=Next end=Eof;`:打开名为XYZ的文件,并将当前循环的Next变量作为输出位置。当读取到文件末尾时,设置Eof变量为True。
5. `do until (Eof); input Dept $ Sales; end;`:循环读取文件中的每一行数据,将其分别赋值给变量Dept和Sales。直到读取到文件末尾时退出循环。
6. `end;`:结束循环。
7. `run;`:执行代码并将结果输出到新数据集NEW中。
综上所述,该代码的作用是读取名为XYZ的文件中的销售数据,并将其输出到以'March'和循环变量i结合而成的文件中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)