SAS数据集成 - 从元数据结构创建物理表

时间:2016-05-18 09:23:07

标签: sas data-integration

我需要在一系列具有条件运行的连接之后使用append对象...因此,如果未验证条件并且不会创建其工作物理数据集,则可能无法执行连接步骤。

问题是如果没有创建一个或多个输入物理数据集,则追加步骤会出错。

是否有一种智能方法可以从联接的工作表的元数据结构中创建物理空表,或者将附加与一些未创建的数据集一起使用?

包含所有字段列表的create table不是真正的解决方案,因为我要按照8个不同的连接复制它,然后复制作业10次......

感谢所有人 罗伯特

2 个答案:

答案 0 :(得分:1)

感谢您的评论。

你应该做什么:

  1. 修改条件节点,使其在正条件下创建值为MAX的全局宏变量。在负面条件下创建值为0的相同变量。
  2. 使用“CREATE TABLE”节点替换违规SQL步骤
  3. 在“CREATE TABLE”的选项中,为“MAXIMUM OUTPUT ROWS(OUTOBS)”指定宏变量。有关这些选项的示例,请参见下图。
  4. 所以现在当你的病情得不到满足时,你总会得到一张空桌子。满足条件时,该步骤正常执行。

    我必须说我的DI Studio版本有点陈旧。在我的版本SQL节点中,不允许将宏变量传递给SQL选项,只能键入整数。检查您的版本是否允许它,因为如果允许,那么您可以修改现有的SQL步骤并避免将其替换为另一个节点。

    还有一件事,当OUTOBS选项少于结果将是数据集时,您将收到警告。

    如果您有任何疑问,请与我们联系。

    查看图片以了解创建表格选项: enter image description here

答案 1 :(得分:0)

最后,我创建了另一个步骤,通过where选项卡中的条件1 = 0从源表中提取0行。通过这种方式我有一个空表,如果连接的工作表不存在,我可以在条件运行的post sql中使用数据/集。

这不是一个解决方案,而是一个有效的解决方法。