9.1 APPLY DICTIONARY
APPLY DICTIONARY FROM={’file_name’,file_handle}.
APPLY DICTIONARY 将取自某个文件的变量标签、值标签和缺失值应用到活动数据集中相应的变量上。在某些情况下,它还会更新加权变量。
FROM 子句为必填项。用它来以单引号指定系统文件或便携文件的名称、数据集名称(参见 Datasets),或文件句柄名称(参见 File Handles)。会读取文件中的字典,但它不会替换活动数据集的字典。文件中的数据不会被读取。
仅考虑在活动数据集和系统文件中都存在的变量名。同名但类型不同(数值型、字符串型)的变量会导致错误信息。否则,系统文件变量的属性会替换与之匹配的活动数据集变量的属性:
- 如果系统文件变量有变量标签,则它替换活动数据集变量的变量标签。如果系统文件变量没有变量标签,则保留活动数据集变量的变量标签(若有)。
- 如果系统文件变量有自定义属性(参见 VARIABLE ATTRIBUTE),则这些属性替换活动数据集变量的自定义属性。如果系统文件变量没有自定义属性,则保留活动数据集变量的自定义属性(若有)。
- 如果活动数据集变量是数值型或短字符串型,则值标签和缺失值(若有)会被复制到活动数据集变量。如果系统文件变量没有值标签或缺失值,则活动数据集变量中的相应内容(若有)不会被改动。
除变量属性外,活动文件字典整体的某些属性也会被更新:
- 如果系统文件有自定义属性(参见 DATAFILE ATTRIBUTE),则这些属性替换活动数据集变量的自定义属性。
- 如果活动数据集有加权变量(参见 WEIGHT)而系统文件没有,或者系统文件中的加权变量在活动数据集中不存在,则保留活动数据集的加权变量(若有)。否则,系统文件中的加权变量成为活动数据集的加权变量。
APPLY DICTIONARY 立即生效。它不会读取活动数据集。系统文件不会被修改。