SAS PROC SQL - 按组将变量值连接成单个值

时间:2017-11-22 12:24:38

标签: group-by sas proc-sql

我有一个数据集,其中包含' factor'价值和相应的回应'值:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
struct someAPICallStructure
{
    public CBSize {get; set;}
    ... and with all other fields too ...
}

我想按因子聚合响应选项,即我需要

desired output table

我完全清楚如何在运行循环值和应用CATX(发布here)的数据步骤中实现此功能。但是我可以使用GROUP BY和SUM()或CATX()的某些字符模拟组合使用PROC SQL吗?

感谢您的帮助,

梅德

1 个答案:

答案 0 :(得分:2)

如果要应用任何类型的逻辑,从前面的行向前传递大量值,则数据步骤是在SAS中使用的适当工具。

任何SQL解决方案都非常难以处理 - 您需要将输入表连接到自身n次,其中n是任何因子的最大不同值数,并且您还需要定义一个顺序键保留用于连接的行顺序。

此处提供了可在proc sql中使用的聚合函数列表: http://support.sas.com/kb/25/279.html

虽然其中一些可以使用字符变量,但字符串连接没有聚合函数。