SAS数组声明

SAS数组声明,sas,wrds-compusat,wrds,Sas,Wrds Compusat,Wrds,我正在阅读,发现了以下代码: array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:; 我想知道语句array nexb nexb:你在这里做什么 有两件事: nexb:是一个带有通配符的变量列表。它扩展到数据步骤中以nexb开头的PDV上该点的所有变量列表。因此与nexb1-nexb17完全相同(但不知道set语句中的数据集中有什么)。它是相同的,只是用来让以后更容易更改17,而不必重复两次 array n

我正在阅读,发现了以下代码:

array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:;
我想知道语句
array nexb nexb:你在这里做什么

有两件事:

nexb:
是一个带有通配符的变量列表。它扩展到数据步骤中以
nexb
开头的PDV上该点的所有变量列表。因此与
nexb1-nexb17
完全相同(但不知道
set
语句中的数据集中有什么)。它是相同的,只是用来让以后更容易更改
17
,而不必重复两次


array nexb nexb:
创建一个数组,它只是一个有组织的变量列表,允许您说
nexb[1]
,而不是
nexb1
,因为
[1]
可以是
[i]
或其他变量,而
nexb1
不能。因此,它允许您一次浏览一个变量列表,并使用或更改它们。数组本身不存在于数据集中,也不是持久的,它只是引用变量的一种简写方式。

这里有一个链接,指向使用快捷方式列出变量的其他各种方式:刚刚注意到上面代码的沃顿版权,请确保可以公开发布此宏。@Reeza我认为可以吗?因为这是沃顿教授人们如何使用他们的服务的教程的一部分。我还搜集了材料和作者。无论如何,如果沃顿给我发了一封电子邮件,要求我把它取下来,我会按照他们的指示去做。这不是它的工作原理。如果您不确定查询,因为教程出现在安全登录后,我怀疑它们不是免费提供的。好的,我删除了代码。“array nexb nexb:”是否声明两个数组?否。
array nexb nexb:
正在声明array
nexb
由变量
nexb:
array nexb不起作用。你需要提供一个变量列表或者一个计数。嗨,乔,我又在读源代码了:我发现它很奇怪。为什么作者定义变量nexb1-17,然后将其添加到数组中?他不能直接创建一个数组吗?