如何读取SAS中的单个日期列?

发布于 2024-10-23 13:31:10 字数 314 浏览 6 评论 0原文

下面的 SAS 代码有什么问题?无法正确读取单个日期列。

DATA test;
    INPUT mydate MMDDYY8.;
    FORMAT mydate YYMMDD10.;
    DATALINES;
        01-22-98
        03-03-97
    ;
PROC PRINT DATA = test;
RUN;

编辑:谢谢您的回答。另一个后续问题是,当我尝试读取引用日期时间的 CSV 格式时,它总是无法正确读取。如何正确读取带有引用日期时间值的 CSV 格式? DSD 选项对我来说没有多大帮助。

What's wrong with the below SAS code? The single date column cannot be read correctly.

DATA test;
    INPUT mydate MMDDYY8.;
    FORMAT mydate YYMMDD10.;
    DATALINES;
        01-22-98
        03-03-97
    ;
PROC PRINT DATA = test;
RUN;

Edit: Thanks for the answer. Another follow-up question is, when I try to read CSV format where datetime is quoted, it always fails to read correctly. How to read CSV format with quoted datetime values correctly? DSD option doesn't help much in my case.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

胡渣熟男 2024-10-30 13:31:10

尝试左对齐数据线。

Try left-aligning the datalines.

坏尐絯 2024-10-30 13:31:10

尽管 SAS 是一种自由格式语言。即任何语句可以从任意行开始,一个语句可以跨越多行,多个语句可以在线。

但是,对于表示代码中数据的数据行 - 语句,数据应从第 1 列开始/至少从第 2 列开始。因此,如果前两列为空,SAS 会假定该行为空并转到下一行。

因此,您的代码中的错误是从右列开始数据。

Though SAS is a free format language. I.e. Any statement can start in any line, one statement can span across multiple lines, multiple statement can be on online.

However with the datalines - statement that represents data within the code, data should start from column 1 / at least in column 2. Hence if the first two columns are blank, SAS assumes that the row is blank and goes to the next row.

Hence the mistake in your code is to start the data from the right column.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文