我正在尝试根据用户输入的数据使用“数据线”选项创建数据集。 有没有一种方法可以在存储过程中动态添加Dataline中的值? 如果没有,我该怎么做?

编辑:我正在从用户输入作为数字数组。 我想添加更多字段以形成数据集。 简而言之,我要创建的数据集是用户数组元素和基于这些输入数字的更多数据的组合。

用户输入:1234、2345、3456

数据集:数字| 文字| ID
1234 | “某事1” | 1
2345 | “东西2” | 2
3456 | “某事3” | 3

===============>>#1 票数:0 已采纳

数据线/卡不应在任何类型的生产系统中使用。 除其他外,它们在%include中是非法的,通常在生产系统中使用。

我相信存储过程中的默认值是返回宏变量(基于输入表单中字段的name )。 可以直接将其分配给数据集变量,或者如果要解析的文本很多,则将宏变量写到文本文件中并读入。有关适合您情况的正确处理方式的更多信息可能是可以在问题中获得更多信息。

进行编辑后,并假设您在宏变量&number获得值1234, 2345, 3456可以执行以下操作:

data want;
_numvar = "&number.";
do _t = 1 to countc(_numvar,",")+1;
  number = scan(_numvar,_t,",");
  text = catx(" ","Something",substr(number,1,1);
  id = input(substr(number,1,1));
  output;
  keep number text id;
end;
run;

我不知道您是如何构造textid所以我只是在上面做了一些事情。

  ask by Mahesh M translate from so

未解决问题?本站智能推荐: