【问题标题】:Import pivot table from Excel into SAS EG将数据透视表从 Excel 导入 SAS EG
【发布时间】:2016-04-02 12:36:17
【问题描述】:

我有一个需要导入 SAS EG 的数据透视表。但是这个数据透视表的值来自数据库,手动输入的值很少。 当我尝试将此数据透视表导入 SAS 时,仅导入了数据库中的值。手动值未导入 sas。 任何人都可以帮助我,了解如何将手动值从同一个数据透视表导入 SAS。

【问题讨论】:

  • 手动值是如何输入的?它们是在单独的位置还是不符合表格?您需要澄清有关您的问题的更多信息。
  • 手动值与其他值在同一个表中。手动值是计算值。例如,对于特定的手动值列有以下公式: =IFERROR(OFFSET(TABLES!AY$2, $II2, 0), IF(OR(H2=150, H2=154, F2="GO"), "组”,“普通”))。
  • @Reeza :如果您想了解更多信息,请告诉我。提前致谢
  • 与我们分享您的 SAS 日志会有所帮助
  • @user5678811什么数据步骤?

标签: excel sas pivot-table


【解决方案1】:

如果您使用 GUI 并且已将信息添加到 Excel 数据透视表,则它可能不属于 Excel 定义范围的表定义。这意味着 SAS 只会读取 Excel 告诉它读取的内容,即实际的数据透视表。您可以做的是显式编写 proc import 语句并指定数据范围。话虽如此,我不建议实际这样做。您拥有源数据,将其导入并在 Excel 中重新创建数据透视表。这不是一项微不足道的任务,但从长远来看可能很有用。

这是一个应该可以工作的 proc 导入代码示例。

proc import datafile='C:\_localdata\myexcel.xlsx' out=want dbms=XLSX replace;
   range='Sheet1$A1:D26'; getnames=YES;
run;

【讨论】:

  • 我正在尝试按照您提到的类似方式进行操作,它仍然在 sas 中使用数据库中的所有值创建数据集,但它将所有手动值留空。另外,我的文件名是“ myexcel.xls ”。所以当我给 DBMS = XLS 或 XLSX 时,它给我一个错误,说 dbms 类型无效。
  • 不工作是什么意思?请从代码中显示您的日志。
  • 这是错误:错误:物理文件不存在,/C:\localdiskmyexcel.xls。
  • 错误:DBMS 类型 XLSX 对导入无效。
  • 您在服务器上使用 EG 吗?您需要将数据上传到服务器。您的应用程序找不到文件与截断的导入数据不同。
猜你喜欢
  • 1970-01-01
  • 2013-12-04
  • 2019-10-12
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 2017-11-06
相关资源
最近更新 更多