【发布时间】:2023-03-10 19:28:01
【问题描述】:
我有一个包含 30 多列的 WORK 数据集,但其中只有 2 列是日期字段。 (开始日期和结束日期)。我希望永久数据集中的日期格式是最新的。而不是在 yymmdd10 中。这是工作数据集中的当前格式。当我使用下面的代码时,两个日期字段占据了前两个位置。我不想重新排序位置,同时也不想提及所有 30 多列的格式。如果有什么办法,有人可以帮我吗?
data DLR.DEALER;
set work.dealer_invoices; * this dataset contains more than 30 columns;
format start_dt end_dt date.;
run;
我在我们的网站上找不到任何解决方案。任何帮助都非常感谢,而不仅仅是要求我在格式声明中提及所有列:) 提前致谢。
【问题讨论】:
-
我认为
format语句不会像set语句之后那样对变量排序产生任何影响。我无法用给定的信息复制您的问题。 -
相同,无法复制您的问题。如果你能复制它,我建议你开一张技术支持的票。
-
@DWal 真是令人惊讶。我想,那我应该提出一张罚单。谢谢
-
您检查了日志以确保它运行?并且没有打开数据集(有效地锁定它并防止更改)?您是否尝试重新启动 SAS 会话?我想我必须看到这个错误被复制才能相信它。
-
我不明白这个。您提到您不希望
start_dt和end_dt成为DLR.DEALER数据集中的第一列,对吗?然后你相信format行从work.dealer_invoices中的原始顺序更改了顺序,但同时你说proc contents data=work.dealer_invoices; run;的结果将start_dt和end_dt分别列为第一和第二Alphabetic List of Variables and Attributes。这不意味着他们从一开始就在这个数据集中是第一位的吗?因此,顺序没有变化。
标签: sas