(SAS)从一个特定列中减去多个列(或多列减法)

(SAS)从一个特定列中减去多个列(或多列减法),sas,subtraction,Sas,Subtraction,我需要你的帮助来解决这个简单的问题 SAS数据集看起来像 (数据集A) A列B列C列。。。Z列SSS 我想使新的SAS数据集看起来像 (新数据集) A列-SSS B列-SSS C列-SSS。。。Z列-SSS 也就是说,我想从一列中减去许多列!!! 我现在不知道如何使用宏或简单技巧(或sql?)解决这个问题 提前谢谢 正如你帖子上的评论所暗示的,你的问题有点难以理解,数组很可能是最好的选择 也就是说,也许您可以使用下面的代码来解决您的问题: /*Reproducible random datase

我需要你的帮助来解决这个简单的问题

SAS数据集看起来像 (数据集A) A列B列C列。。。Z列SSS

我想使新的SAS数据集看起来像 (新数据集) A列-SSS B列-SSS C列-SSS。。。Z列-SSS

也就是说,我想从一列中减去许多列!!! 我现在不知道如何使用宏或简单技巧(或sql?)解决这个问题


提前谢谢

正如你帖子上的评论所暗示的,你的问题有点难以理解,数组很可能是最好的选择

也就是说,也许您可以使用下面的代码来解决您的问题:

/*Reproducible random dataset*/
data have;
    do i=1 to 10;
        Column_A = ceil(ranuni(_N_   )*1000);
        Column_B = ceil(ranuni(_N_+10)*1000);
        Column_C = ceil(ranuni(_N_+20)*1000);
        Column_D = ceil(ranuni(_N_+30)*1000);
        Column_E = ceil(ranuni(_N_+40)*1000);
        SSS      = ceil(ranuni(_N_+50)*100 );
        output;
    end;
    drop i;
run;

/*Desired result?*/
data want;
    set have;
    array Columns Column_:;  /* The ':' is a suffix wildcard matching like typed variables with names starting with "Column_" */
    do over Columns;
        Columns = Columns - SSS;
    end;
    drop SSS;
run;

建议您添加一些示例数据。另外,显示您尝试过的代码。你试过使用数组吗?这个问题不需要宏或SQL“技巧”。数组是最简单的解决方案。请看这里的例子:如前所述,您的问题不符合SO规则,因此在它满足之前,您不太可能得到答案。您需要添加示例数据和输出,并显示您的尝试。