PROC SQL SAS 中的长度和连接

ASH*_*ASH 0 sas proc-sql proc

我想在 select 语句中定义某些特定列的长度,并且想连接两列,sponsor id即sponsorSAS proc sql 中的“ABC-123”。请帮助这是代码

proc sql;
select
    project_id,
    sponsor_id,

    empl_country,
    region,
    empl_dept_descr,
    empl_bu_descr,

    sponsor,
    full_name,
    mnth_name FROM Stage0;
quit;
Run Code Online (Sandbox Code Playgroud)

Ric*_*ard 5

该CATX函数将连接任意数量、任意类型的参数,剥离值并在每个参数之间放置一个公共分隔符(也被剥离)。例如:

proc sql;
  create table want as
  select 
    catx('-', name, age) as name_age length=20
  , catx(':', name, sex, height) as name_gender_height
  from sashelp.class;
Run Code Online (Sandbox Code Playgroud)

如果 CATX 结果分配给的变量未指定长度,则新变量的长度将为 200 个字符。

剥离意味着删除前导和尾随空格。缺少值的参数不会成为串联的一部分。

CATX 的 SAS 文档