Sas 如果指定了计数,则多次显示OBERVATIONS

Sas 如果指定了计数,则多次显示OBERVATIONS,sas,Sas,我有以下输入 FromCount ToCount FromStore ToStore 3 1 Macy's Wallmart 1 3 JcPenny Frys 3 2 Frys Wallmart 这是所需的输出 FromCount ToCount FromStore ToStore 3 1 Macy's Wallmart 1

我有以下输入

FromCount ToCount  FromStore ToStore 
3          1       Macy's    Wallmart
1          3       JcPenny   Frys
3          2       Frys      Wallmart
这是所需的输出

FromCount ToCount  FromStore ToStore 
3          1       Macy's    Wallmart
1          3       JcPenny   Frys
3          2       Frys      Wallmart
输出

FromStore   ToStore  
Macy's      Wallmart
Macy's      Wallmart
Macy's      Wallmart
JcPenny     Fry's
JcPenny     Fry's
JcPenny     Fry's
Frys      Wallmart
Frys      Wallmart
Frys      Wallmart
Frys      Wallmart
Frys      Wallmart
Frys      Wallmart
我有以下代码:

do i=1 to (FromCount*ToCount);
output;
end;

但该代码不起作用。

您需要在数据步骤中执行此操作

data output(keep=FromStore ToStore);
set input;

do i=1 to (FromCount*ToCount);
   output;
end;

run;

我相信,这不是一个完整的代码,而是数据步骤的一部分?那么,你能具体说明什么不起作用吗?日志怎么说?不,这不是问题,我不确定我的程序是否生成了正确的输出,我再次测试了它,它正常工作了。我认为do循环的逻辑不正确,但它可以工作,谢谢你的回答。还有其他方法吗?我这里介绍的是在SAS中实现这一点的最佳方法。我相信你可以想出另一种方法,但它不会那么紧凑或高效。@user330518-鉴于问题中的细节,我确实认为DomPazz已经给了你最好的答案。。