如何通过电子邮件从 SAS DIS 发布(csv、xlsx 等)文件

How to publish a (csv, xlsx, etc) file from SAS DIS via email

所以我有一些 SAS DIS 作业在 运行 时创建 "kickout" 数据 - 我的意思是如果事情 运行 顺利,none "kickout" 数据已生成,但众所周知会有例外情况,我希望将这些例外情况放入 table 并自动通过电子邮件发送给我,以便在某些情况下出现异常时通知我-理想的方式。

我可以创建一个转换,它会发送一封包含我要查找的数据的电子邮件,但数据的格式为 html,因此不利于分析。我希望转换为通过电子邮件发送更容易操作的 .csv 文件。

可以选择发送 .spk 文件,但我在使用它时遇到了问题,而且我不确定它是否真的适合我的需要。

无论是否使用 SAS DIS 提供的标准“发布到电子邮件”转换,我都可以实现吗?查看 SAS DIS 用户指南,我猜没有预构建的转换可以满足我的要求,但是基本 SAS 代码可以满足这个要求吗?

非常感谢!

"Publish to Email transformation" 使用 ODS HTML 生成输出,因此您将获得 HTML 输出。如果您想要 XLS 输出,那么有一种方法。您可以将输出文件的扩展名更改为 xls 以从 ODS HTML 生成 xls 文件。这是从 ODS HTML.

生成 xls 的旧方法

现在进入 SPK 文件。这是你应该研究的事情。由于您正在寻找一个 xls/csv 附件,您可以打开它并进行一些操作等。SPK 文件就像一个 ZIP 文件。您可以右键单击并解压缩 spk 文件。基本上,您可以将所有文件放入 archive/spk 文件中,然后使用 "Publish to Email Transformation"

将其作为附件通过电子邮件发送

要完成此操作,请转到 "Publish to Email Transformation" 的属性和“发布”选项下 =>

  • select 在存档 (.spk) 文件中将报告作为电子邮件附件发送到 Select 查看器 file/attachment 选项字段
  • 提供 folder/path spk 文件的存储位置 Select 存储包含报告的存档文件的路径
  • 在指定包含报告的存档文件的文件名下提供 spk 文件的名称
  • 在为包指定一个或多个所需包 name/value 对下提供包的名称=值对。例如,此转换生成 INPUT 数据集的 PROC PRINT,输出文件为 c:\sushil\test.html 然后输入 myname=(test.html) 。 myname 用于标记目的,当您解压缩 spk 时,您应该得到 test.html

现在在 "Publish to Email Transformation" 转换 select "Generate PROC PRINT from input table" 中的 REPORT SPECIFICATION 选项下,然后输入生成的报告的路径和文件名,根据我们之前的输入应该是 c:\sushil\test.html

此外,对于 select "Generate PROC PRINT from input table",您需要右键单击 "Publish to Email Transformation" 和 select 端口 -> 添加输入端口。这就是如何将 table 与转换连接起来的方法。现在这是从转换中生成 spk 包所需的最低设置。如果有帮助请告诉我!!

注意:此信息根据 SAS DI Studio 4.6。不知道更新版本的DI Studio中是否更新了转换。