gpt4 book ai didi

data-structures - 如何比较SAS中的表结构

转载 作者:行者123 更新时间:2023-12-01 08:40:25 26 4
gpt4 key购买 nike

我是一名测试人员,我需要比较 SAS 中的两个数据集结构(不是表数据)。我尝试使用“proc compare”,但它会比较数据。我想比较数据集/表结构(列名、数据类型、空约束等)

有人可以帮忙吗?

最佳答案

您可以查询 SASHELP(vtable、vcolumn 等)中的 View 来执行此操作。一种快速的方法是从 sashelp.vcolumn 为要比较的两个表中的每一个创建一个临时表,然后使用 PROC SQL 连接来比较它们。然后您将比较结构,这些结构在来自 vcolumn 的数据中表示。

要开始使用,请查看 SASHELP.vcolumn 中的内容。

这是一个使用此方法的基本示例,用于比较 2 个数据集中的变量。

* provide names of the two data sets here ;
%let ds1=TheFirstDataSet;
%let ds2=TheOtherDataSet;

* upcase the data set names ;
%let ds1=%sysfunc(upcase(&ds1));
%let ds2=%sysfunc(upcase(&ds2));

proc sql;
* retrieve info on these tables from sashelp.vcolumn;
create table first as select * from sashelp.vcolumn where upcase(memname)="&ds1";
create table second as select * from sashelp.vcolumn where upcase(memname)="&ds2";
* join these data sets and report on differences for var names;
select coalescec(f.name,s.name) as varName
,case
when f.name is null then "This var is in &ds2 only"
when s.name is null then "This var is in &ds1 only"
else 'This var is in both data sets'
end as DiffDescription
from
first as f
full outer join
second as s
on f.name=s.name
;
quit;

你可以从中概括出其他属性,例如数据类型、长度、标签等,所有这些都在 vcolumn 中可用。

  • 请注意,您可能需要更改此代码以适应您的数据集可能具有的 libref。

关于data-structures - 如何比较SAS中的表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com