如何在sas数据库中引用单元格

如何在sas数据库中引用单元格,sas,Sas,我有一个简短的问题。在excel中,您可以将第20行c列中的值作为C20单元格。SAS数据库中的等效表达式是什么 不能像在Excel中那样,在上下文之外显式引用数据集外部的单个单元格。SAS一次处理一行,自然不能直接访问单元格 一般来说,如果您在讨论中引用该值,则应将该列作为变量引用。您可以引用行号,尽管在大多数情况下这没有什么意义(特别是当您可以对数据集进行排序,更改所有行号时);相反,您可以通过它的主键来引用它。这将是在数据中定义唯一行的内容。例如,它可能是一个主题ID,也可能是几个变量的组

我有一个简短的问题。在excel中,您可以将第20行c列中的值作为C20单元格。SAS数据库中的等效表达式是什么

不能像在Excel中那样,在上下文之外显式引用数据集外部的单个单元格。SAS一次处理一行,自然不能直接访问单元格


一般来说,如果您在讨论中引用该值,则应将该列作为变量引用。您可以引用行号,尽管在大多数情况下这没有什么意义(特别是当您可以对数据集进行排序,更改所有行号时);相反,您可以通过它的主键来引用它。这将是在数据中定义唯一行的内容。例如,它可能是一个主题ID,也可能是几个变量的组合,这些变量一起定义了一个唯一的行。

将SAS数据集想象成一个电子表格并不是很有用。相反,将其视为一个数据库表。提取特定行很容易,但提取列需要名称而不是位置,就像Excel中的C一样

如果这是数据集

    x1   x2   x3
  +----+----+----
1 |  0 |  1 |  0
2 |  1 |  2 |  3
然后,在数据步骤中,您可以得到B2的等效值,如下所示:

data b2;
    set dataset;
    if _n_ = 2 then output;
    keep x2;
run;
然后,输出数据集将只包含所需的值。但是您必须知道,例如,
x2
,是您想要的变量


不过,这并不是SAS的真正用途。

顺便说一句,这只适用于基本SAS;SAS/IML会有不同的答案。