gpt4 book ai didi

sas - 使用动态名称重命名列

转载 作者:行者123 更新时间:2023-12-01 11:38:59 27 4
gpt4 key购买 nike

我有一个来自 .xls 文件的列名(使用 excelcs 引擎导入),它是动态的并且每天都在变化。

我想知道如何在 sas 中引用和重命名该动态列名称而事先不知道它将被称为什么?

最佳答案

这在一定程度上取决于它如何动态变化。如果它完全不可预测 - 您无法编写代码来解决它,或消除其他已知列 - 您最简单的选择可能是使用 GETNAMES=NO,然后自己设置名称。

如果它在某种程度上是可预测的(例如它是“MYDYNAMIC_XXXX”,其中 XXXX 以某种方式发生变化),您可能可以从 dictionary.columns 中找出它。 (适当修改 libname/memname/etc.;memname 为数据集名称。)

proc sql;
select name into :dynname
from dictionary.columns
where libname='WORK' and memname='MYDATASET'
and name like 'MYDYNAMIC_%';
quit;

或者,如果您需要知道的话,您可以使用 NOT(IN(...)) 子句来消除已知的列名。

最后,如果它在一个一致的位置,比使用 GETNAMES=NO 更容易的可能是根据变量号查询 dictionary.columns (where varnum=5例如,如果它是第五个变量数)。

关于sas - 使用动态名称重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23768649/

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