【问题标题】:SAS DDE Export Excel blank spacesSAS DDE 导出 Excel 空格
【发布时间】:2017-02-07 01:45:30
【问题描述】:

我有 20 个 SAS 数据集,需要将它们导出到不同的 Excel 工作表。我创建了一个 SAS 宏来完成这项工作。但是,我注意到输出的末尾有一个空格。

For eg: "Creative" is getting exported as "Creative ". 

因此,实际数据中没有空格,只有在将变量导出到 Excel 后才会出现。我仍然包含以下代码来消除这些空白

Filename out dde "excel|[Output.xlsm]!sheet1!r1c1:r10c25";

data want;
 set have;
 array vars (i) _char_;
 do i=1 to dim(vars);
  vars(i)=compress(vars(i));
end;
run;
data _null_;
 Set want;
 file out lrecl=1000 notab;
 put
 var1-var25;
run;

感谢您的帮助。

【问题讨论】:

  • 贴出实际使用的代码,包括导出部分和DDE连接字符串。
  • 嗨 Reeza,我已经用 DDE 连接字符串编辑了代码
  • 你忘记了数据 HAVE。

标签: excel sas space dde


【解决方案1】:

我能够用这个重现每个字段中的尾随空白。您发布的代码从缺少数据 HAVE 和混合隐式和显式数组开始不起作用。即使使用 COMPRESS 的步骤确实有效,也无法解决问题。

data _null_;
   Set sashelp.shoes(keep=_char_ obs=19);
   file out notab;
   put (_char_)('09'x);
   run;

如果你稍微修改 PUT 和 FILE 语句,你应该得到正确的输出。

data _null_;
   Set sashelp.shoes(keep=_char_ obs=19);
   file out dlm='09'x notab;
   put (_char_)(:);
   run;

列表 put 的注意分隔符更改为制表符,PUT 语句中的格式列表更改为 : from '09'x。我将留给您研究 LIST PUT 的细微差别。

【讨论】:

    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    相关资源
    最近更新 更多