【问题标题】:Newid() equivalent in BASE SASBASE SAS 中的 Newid() 等效项
【发布时间】:2014-11-20 03:07:27
【问题描述】:

我正在使用 BASE SAS 9.2,但我对生成唯一标识符有疑问。在 MS-SQL 中,我们可以选择使用 NEWID() 函数创建唯一标识符 BASE SAS 中是否有任何此类选项,或者如果没有,我如何在 BASE SAS 中生成唯一标识符

谢谢, 幸

【问题讨论】:

  • 没有直接关联,因为 SAS 通常用于分析(统计分析软件)而不是 DBMS,并且 ID 是 DBMS 的一部分。但是,如果您从这个 ID 中解释更多您需要什么以及您希望它如何发挥作用,也许我们可以建议其他答案。
  • 我需要用字母数字 ID 掩盖人们的身份,例如姓名、帐号。因此需要这个。当我对这个字母数字 ID 进行逆向工程时,我应该能够取回姓名、帐号
  • 这和你上面问的问题完全不同......

标签: sas


【解决方案1】:

此类标识符需要根据您的需要手动配置。一个基本的方法(假设你的标识符是数字的)可以遵循:

/* get previous maximum id and store in macro variable */
proc sql noprint;
select max(identifier) into: max_identifier from MainTable;

/* generate new identifier starting from previous high value */
data append;
   retain identifier &max_identifier;
   set staging; 
   identifier+1; 
run;

proc append base=MainTable data=append; run;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-12
    • 2018-08-15
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2016-07-11
    相关资源
    最近更新 更多