sas - 输入语句中日期变量名前面@6和@15的含义
问题描述
我写了以下代码:
data dummy;
input @6 dt1 ddmmyy8. @15 dt2 ddmmyy10.;
cards;
30-12-16 30-12-2016
;
run;
这在 LOG 中给出了以下注释:
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
72
73 data dummy;
74 input @6 dt1 ddmmyy8. @15 dt2 ddmmyy10.;
75 cards;
** NOTE: Invalid data for dt1 in line 76 6-13.**
** NOTE: Invalid data for dt2 in line 76 15-24.**
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
76 30-12-16 30-12-2016
dt1=. dt2=. _ERROR_=1 _N_=1
NOTE: The data set WORK.DUMMY has 1 observations and 2 variables.
**问题 1:** 变量名 dt1 和 dt2 前面的 @6 和 @15 是什么意思?**问题 2:** 为什么这段代码不起作用?输出显示缺失值而不是 SAS 日期。
解决方案
INPUT
语句中 的@ 参数是一个列指针控件。从文档
@n
将指针移动到第 n 列。
通过编码@6
,@15
将解析数据的列在下面标记为^
RULE: ----+----1----+----2----+----3----+----4----+----5
76 30-12-16 30-12-2016
^^^^^^^^ <-- @6 dt1
^^^^^^^^^^ <-- @15 dt2
您“指向”错误的列来读取数据。正确的列是@1
和@10
推荐阅读
- azure-ad-b2c - Azure B2C 自定义策略电子邮件验证重新订购项目
- javascript - 无法使用 FS 写入文件
- html - jquery html在拖放时复制
- javascript - React:基于 prop 的组件名称
- asp.net - ASP.NET Identity 用户 ID 是公开的吗?
- entity-framework - 将标识表移动到自定义架构 Asp.Net Core
- javascript - Dropzone : TypeError: children 不是函数
- python - 带有压缩迭代器的 itertools.chain
- javafx - JavaFX GIF 没有播放完整的 GIF
- python - 用于从数据帧中提取子字符串的正则表达式模式