proc转置字符域

proc transpose character field

我正在尝试对一系列文本值执行一系列正则表达式。

我的想法是维护一个正则表达式的数据集以应用于可能的文本值数据集。


data work.transforms;
    infile datalines;
    input regex $;
    datalines;
s/æ/ae/
s/ ltd / limited /
s/ corp / corporation /
;
run;
proc transpose data=work.transforms out=work.transline;
run;

生成的数据集没有行。我期望每个正则表达式都有一行和一列。

这是怎么回事?我可以对字符字段进行转置吗?

(如果相关:我的目的是将我的 translinenames 数据集连接在一起,然后使用循环来转换每个名称。)

如果您不告诉 PROC TRANSPOSE 要转置哪些变量,它只会转置数值变量。您必须使用 VAR 语句告诉 PROC TRANSPOSE 您希望它转置哪些变量以使其包含字符变量。

proc transpose data=work.transforms out=work.transline;
   var regex;
run;