首页 > 解决方案 > SAS:合并时保持格式

问题描述

我正在尝试合并具有不同格式的三个数据(A1、A2、A3)。数据集都是简单的一行两列数据集。但是,一旦我合并它们,格式样式就会消失并显示数据 A1 的格式。有谁知道合并时如何保持格式?

DATA A1;
FORMAT _NUMERIC_ 7.1;
RUN;

DATA A2;
SET A0;
RUN;

DATA A3;
FORMAT a b PERCENT7.1;
RUN;

DATA A4; SET A1 A2 A3;
RUN;

先感谢您。

标签: mergesasformat

解决方案


(程序数据向量)PDV 是由 SAS 执行器执行的隐式和自动编译/运行操作构建的存储组件。

PDV 中的每个项目都对应一个变量及其附带的元数据(类型、长度、格式、信息、标签等...)

在 SET 语句中调用的数据集中的变量会自动添加到 PDV(连同变量元数据)。一旦项目位于 PDV 中,同一 SET 语句中的后续数据集将不会覆盖现有的 PDV 项目。

您的示例代码有点缺陷,因为 A1 没有变量,A2 步骤有错误,A3 没问题。由于此缺陷,A4 变量将继承 A3 元数据。

根据您的 SET 语句,假设 A1 有一个变量 X,那么数据集 A4 中的 X 将继承 A1.X 元数据。


推荐阅读