📜  SAS |带有示例的 COALESCE函数

📅  最后修改于: 2022-05-13 01:55:28.546000             🧑  作者: Mango

SAS |带有示例的 COALESCE函数

COALESCE函数用于选择变量列表中的第一个非缺失值。换句话说,它返回每行的第一个非空白值。

让我们在 SAS 中生成一个示例数据集,以了解 COALESCE 的执行情况。

例子:

data temp;
    input roll_no a1-a4;
    cards;12 . 98 52 . 
        23 79 . 67 . 
        14 90 82 88 85 
;run;

输出:

  • COALESCE : 第一个非缺失值
    data exam;
    set temp;
    first_non_miss_val = coalesce(of a1 - a4);
    run;
    

    如果您检查下图中显示的输出,您会发现 COALESCE 在第一次观察中返回 98,这是 a1 = .、a2 = 98、a3 = 52、a4 = 中的第一个非缺失值。

  • COALESCE : 最后一个非缺失值

    让我们假设您想找出最后一个非缺失值而不是第一个。为此,没有这样的函数可以返回最后一个非缺失值,但为了实现这一点,我们可以反转变量列表并计算第一个非缺失值,这将等同于最后一个非缺失值。间接地,我们正在考虑从右到左而不是从左到右来评估变量。

    data exam;
    set temp;
    last_non_miss_val = coalesce(of a4-a1);
    run;
    

    输出:

    注意: coalesce(of a4-a1) 等价于 coalesce(a4, a3, a2, a1)。