【发布时间】:2012-03-22 10:10:25
【问题描述】:
我正在尝试使用存储在外部文件中的一些变量来编写文件。我在使用 line holder(@@ with put 语句)和循环时遇到问题。我喜欢将变量放在文件中的某些位置,但是我得到的结果文件在这些变量的每一行中重复。我只是希望将这些变量作为一个块一次性放置。
这是我写的代码:
data _null_;
set merged;
file 'c:outfile.txt';
put @1 "A" @4 &totaln.;
do i=1 to &totaln;
put @1 i @4 "L3 2 DW 1.7" @17 a @28 b @40 c @@;
end;
put;
put @1 "OL" @4 &totaln.;
do j=1 to &totaln.;
put @1 j put @4 "L3 2 DW 1.7" put @17 av @28 bv @40 cv @@;
end;
put;
put @1 "CI &totaln. AO";
put @1 "OP";
put @1 "KO" @4 "SL";
run;
&总数。是我制作的合并文件中的计数总数。 'Merged' 包含 a、b、c、av、ab、ac 变量(它们的行大约有 19 个)。所以我想要 NE totaln 行下方的 19 行 a、b、c 变量。然后 av, bv, cv 在 OL totaln 行以下,然后是 outfile 末尾的 CI OP 和 Ko 行这三行。
合并:
A B C av bv ac cnt
0.0268 676.9155 0.0347 0.9620294118 -2.131070959 0.031533299 1
0.0215 704.6740 0.2240 0.7738647059 -1.185638164 0.3506849035 2
0.0430 736.3752 0.2053 1.5611941176 -0.442240668 0.2434476134 3
0.0223 727.6945 0.1752 0.8075882353 -0.833957317 0.1725987826 4
0.0220 715.3714 0.1187 0.7434058824 -0.991003252 0.120438949 5
0.0287 754.1052 0.1824 0.8567470588 0.126161198 0.1685302022 6
填充外观:
东北 6
1 L3 2 DW 1.7 0.0268 676.9155 0.0347
2 L3 2 DW 1.7 0.0215 704.6740 0.2240
3 L3 2 DW 1.7 0.0430 736.3752 0.2053
4 L3 2 DW 1.7 0.0223 727.6945 0.1752
5 L3 2 DW 1.7 0.0220 715.3714 0.1187
6 L3 2 DW 1.7 0.0287 754.1052 0.1824
OL 6
1 L3 2 DW 1.7 0.9620294118 -2.131070959 0.031533299
2 L3 2 DW 1.7 0.7738647059 -1.185638164 0.3506849035
3 L3 2 DW 1.7 1.5611941176 -0.442240668 0.2434476134
4 L3 2 DW 1.7 0.8075882353 -0.833957317 0.1725987826
5 L3 2 DW 1.7 0.7434058824 -0.991003252 0.120438949
6 L3 2 DW 1.7 0.8567470588 0.126161198 0.1685302022
CI 6 AO
欧普
KO SL
【问题讨论】:
-
您需要从 MERGED 发布数据。此外,每个 PUT 语句都需要一个分号......在您的 DO-END 中,您在同一行上有多个 put 语句。我怀疑任何人都可以在没有看到一些示例成功输出的情况下解决这个问题。发布输入数据以及您希望它的外观。
标签: sas