问题标签 [sas-dis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1112 浏览

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

所以我有一些 SAS DIS 作业在运行时会创建“踢出”数据 - 我的意思是,如果事情运行顺利,则不会生成任何“踢出”数据,但众所周知会有例外,我想将这些异常放入表格并自动通过电子邮件发送给我,以便在某些事情以非理想方式运行时通知我。

我可以创建一个转换,它将发送一封包含我正在寻找的数据的电子邮件,但数据被格式化为 html,因此不适合分析。我希望通过电子邮件发送一个更容易操作的 .csv 文件。

可以选择发送 .spk 文件,但我在让它工作时遇到问题,无论如何我不确定它是否真的适合我的需要。

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

非常感谢!

0 投票
1 回答
621 浏览

sas - 检查 SAS DIS 参数是否为空

在 SAS DIS 中,我在工作中设置了日期参数。我尝试使用提供的下拉菜单设置默认值,但每次我收到错误

语法错误,应为以下之一:!、!!、&、*、**、+、-、/、<、<=、<>、=、>、><、>=、AND、EQ、GE , GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=, |, ||, ~=.

因此,我决定在继续之前尝试检查参数是否为空,但我的各种尝试都没有成功。有没有办法用用户编写的代码来做到这一点?就像是

我在宏中尝试过,但没有成功。

非常感谢。

0 投票
2 回答
1543 浏览

sas - 有条件地跳过 SAS DIS 中的转换

我想知道是否可以在 SAS DIS 中使用条件启动转换来根据给定表是否为空(无行)有条件地绕过另一个转换。链接似乎表明条件必须基于参数变量的值。

我的一个想法是在用户编写的代码转换中创建一个参数值,并根据表的状态为其分配不同的值,但这似乎很复杂且不优雅,我不确定它是否会起作用。有没有更简单的方法?

非常感谢

0 投票
2 回答
937 浏览

sas - 在变量中获取文件名

我正在使用 sas DI studio,我试图在输入文件的名称中写入一个日期值,以便在输出文件名中也放入相同的日期。所以首先我需要获取文件名和提取日期,然后将日期放回去。最简单的方法是什么?

0 投票
1 回答
798 浏览

sas - SAS 数据集成关于长度的警告

我有一个 proc sql 代码,创建表如下:

当我在 SAS 数据集成中运行此查询时,我有警告,当我在企业指南中运行此查询时,我没有。警告是:

警告:“问题”列的数据太长;截断为 127 个字符以适应。

我在proc sql代码的问题旁边放了length = 2000,但仍然给我错误。我的困惑是,我应该将长度放在 proc sql 还是 proc 打印代码中。警告在 proc 打印代码之后。

0 投票
2 回答
1083 浏览

automation - SAS (DI) 中的动态注册表

每天都会生成带有交易数据的表格,名称中包含日期,例如 data_01_12_2014. 很清楚为什么这种方法不受欢迎,但大概原因是每日餐桌非常庞大,这是一种空间管理机制。不管是什么原因,我的任务是从这些表中获取数据,进行一些转换,然后将结果放入结果表中。

我的问题是我想自动化这个过程,不想每天手动注册新的每日表。有没有办法在 SAS/SAS DI 中自动化这个过程?

非常感谢。

0 投票
1 回答
118 浏览

sas - sas DI JOBS 在 unix 中进行故障排除和监控

如果 sas 安装在 windows 操作系统上,那么如何在 unix 上排除故障或捕获其 sas DI 作业的性能?使用任何工具或命令还是使用 nmon?谢谢...

0 投票
2 回答
350 浏览

sas - 连接和附加的最佳顺序以提高性能

我需要启动和运行 SAS DI 作业时遇到巨大的性能问题。因此,我正在寻找优化工作的聪明方法。

我特别想到的一件事是,我或许应该改变一些连接和附加的顺序。目前,我的工作配置如下:

有几个类似结构的源表,我首先将日期过滤器应用于(以减少行数)并对两个字段进行排序,例如ab,然后我将每个表连接到具有相同字段的帐户表的表ab(如果可能的话,我想为这些创建索引,但不知道如何为 SAS DI 中的临时工作表创建索引)。在每个连接完成后,我将结果表附加到一个数据集中。

我突然想到我可以先追加,然后只做一个连接,但我不知道哪种方法更快,或者如果答案是它取决于我不知道它取决于什么(尽管我会猜测组成表的大小)。

那么,执行多个连接然后追加,还是追加然后执行一个连接更好?

编辑

这是一些相关信息的更新(由用户Robert Penridge请求)。

  • 这里的源表数量为 7 个,这些表的大小在 1500 到 520 万之间。10 000 是典型的。列数为 25。这些表都与同一个表连接,该表大约有 5000 行和 8 列。
  • 我估计唯一键将表划分为大小大致相等的子集;这里的大小减少应该在 8% 和 30% 之间(差异是由于一些源表比其他源表携带更多的历史数据,增加了分组到相同数量组的表的百分比)。
  • 我已将列数限制为所需的最小数量(21)。
  • 默认情况下,SAS DI 将所有临时数据集创建为视图,我没有更改它。
  • 附加和连接的代码由 SAS DI 在使用 GUI 元素构建它们后自动生成。
  • 最终数据集未排序;我对馈送连接的数据进行排序的原因是该链接关于连接性能的部分(第 35 页)提到它应该提高性能。
  • 正如我所提到的,我不确定是否可以将索引放在 SAS DI 中的临时工作表或视图上。
  • 我不能说这些字段的宽度是否大于绝对必要的,但如果是这样,我怀疑它是令人震惊的。我犹豫要不要更改它,因为它必须在多个表上手动完成,并且当新数据进入时,它可能需要额外的列宽。

非常感谢

0 投票
1 回答
169 浏览

sas - SAS SPDS 表主约束无法添加

我正在尝试在 SAS SPDS 表上添加主要约束。

我收到的错误是 - 1. 错误:引擎 SASSPDS 不支持完整性约束操作 2. 错误:不支持请求的功能。

我无法继续。我用过的查询 -

1.

****,也试过2。

有什么建议么。

0 投票
2 回答
437 浏览

sas - 如何获取Job的源代码

对不起英语语言技能!

SAS version 9.3

有必要自动化获取Job. 我知道通过部署/重新部署的方式,但它不适合创建部署元数据。

通过宏:

但该字段text始终是空的。

我究竟做错了什么?有没有其他方法可以自动化获取源代码的过程Job