《SAS企业指南-临时出口》;工作“;根据条件,将表转换为同一工作簿中的多个工作表

《SAS企业指南-临时出口》;工作“;根据条件,将表转换为同一工作簿中的多个工作表,sas,export-to-excel,enterprise-guide,sysdate,Sas,Export To Excel,Enterprise Guide,Sysdate,我找了又找,但似乎找不到解决办法 我使用的是8.2更新4(8.2.4.1261)(32位) 有人能帮我将表格导出到包含多张工作表的Excel文件中吗 示例:表格包含美国职业运动队的列表(包括他们所在的城市/昵称和联盟)。每个标签将由联盟(NBA、MLB、NFL、NHL、MLS)分开。我该怎么办 我还想将当前日期添加到输出Excel文件名中。根据我所读的内容,我可以创建一个带有sysdate的变量。只是不知道如何将其合并到代码中。 每个图纸名称基于一个组。 在SAS中,我们使用BY语句指定组成一

我找了又找,但似乎找不到解决办法

我使用的是8.2更新4(8.2.4.1261)(32位)

有人能帮我将表格导出到包含多张工作表的Excel文件中吗

示例:表格包含美国职业运动队的列表(包括他们所在的城市/昵称和联盟)。每个标签将由联盟(NBA、MLB、NFL、NHL、MLS)分开。我该怎么办

我还想将当前日期添加到输出Excel文件名中。根据我所读的内容,我可以创建一个带有sysdate的变量。只是不知道如何将其合并到代码中。

  • 每个图纸名称基于一个组。
    • 在SAS中,我们使用
      BY
      语句指定组成一个组的变量——在您的例子中,它是一个变量
      league
  • BY
    语句在输出期间提供特殊标记,
    #BYVAR
    #BYVAL
    • 您希望
      联盟的值在输出期间非常重要(表名),因此
      #BYVAL1
  • ODS-EXCEL
    图纸名称构造在
    OPTIONS
    选项中指定。您可以使用选项中的
    BY
    标记。
    • 您需要
      ODS EXCEL。。。选项(sheet_name=“#BYVAL1”)
  • 输出过程中的
    BY
    语句会产生一个额外的行
    =
    ,这将是Excel输出中的噪声。
    • 使用
      选项NOBYLINE防止噪音
例如:

ods excel file='output.xlsx' options(sheet_name="#BYVAL1");

options nobyline;

proc print noobs data=sashelp.cars;
  by make;
run;

ods excel close;
产生

更多

如果希望
BY
变量出现在
PROC PRINT
输出中,请使用
VAR\u ALL语句,或列出所需的列


如果需要导入和合并Excel中编辑的数据,或者制作各种图表等,则将
BY
变量添加到输出将使事情变得更简单。实际上,如果您在EXCEL中执行其他工作,最好生成一个包含所有数据的工作表,然后使用自动筛选(这是一个
ODS EXCEL
选项)和EXCEL透视表/图表。(Proc
tablate
REPORT
可以完成pivot表所能完成的大部分工作。)

感谢您的回复。你能告诉我如何把它指向一个特定的文件夹吗?将当前日期添加到文件末尾如何?运行您提供的代码时,我收到以下错误消息:“错误:访问/sasapps/sas_config/Lev4/SASEnt/output.xlsx的授权不足。”在文件选项中,放置您希望保存的完整路径和文件夹。请注意,SAS服务器必须能够访问此位置,因此,如果您在服务器上使用EG,则可能无法保存到桌面
file=“/folders/myfolders/demo_u%sysfunc(date(),yymmddn8).xlsx”
My EG在服务器上,我可以使用“导出”或“作为步骤导出”选项。然而,这并没有让我像编写程序那样定制文件名。我已经尝试了我能找到的每一个教程,但我似乎没有一个明确的方法来做这件事。一些应该如此简单的事情(对我来说)非常具有挑战性。如果您试图将全新的数据集发送到全新的Excel文件中,然后将不同的符合条件的数据放入每个选项卡,请有人提供您将使用的确切代码吗?Unix路径标记波浪号(~)是您登录的主文件夹。您应该能够在服务器连接面板中显示的树中看到主文件夹和创建的任何子文件夹。因此,调整@Reeza path
file=~/demo_uu%sysfunc(date(),yymmddn8).xlsx
必须使用上述方法将其导出到服务器,然后下载创建的文件。这是一个基于系统设置方式的限制,而不是真正的SAS限制。另一个选择是说服IT团队将一个公共网络驱动器映射到您的SAS安装,您也可以在本地计算机上使用该安装。