SAS冒号格式修改器
SAS冒号格式修改器,sas,formatting,modifier,Sas,Formatting,Modifier,灰色框中的数字代表什么?理解冒号修饰符如何影响sas读取值的简单方法是什么 答案取决于未提供的信息。答案B是最好的选择,因为在输入语句中使用信息时应该使用冒号修饰符,以防止使用格式化输入模式而不是列表输入模式。否则,格式化输入可能会读取太多或太少的字符,并且可能会将光标留在错误的位置以读取下一个字段 但如果你试着从在线卡中读取数据,这两行就可以了。这是因为在线数据行被填充到下一个80字节的倍数 如果将这些行放入一个文件中,但行上没有任何尾随空格,则第二行将失败,因为最后一个字段没有10个字符可读
灰色框中的数字代表什么?理解冒号修饰符如何影响sas读取值的简单方法是什么 答案取决于未提供的信息。答案B是最好的选择,因为在输入语句中使用信息时应该使用冒号修饰符,以防止使用格式化输入模式而不是列表输入模式。否则,格式化输入可能会读取太多或太少的字符,并且可能会将光标留在错误的位置以读取下一个字段 但如果你试着从在线卡中读取数据,这两行就可以了。这是因为在线数据行被填充到下一个80字节的倍数 如果将这些行放入一个文件中,但行上没有任何尾随空格,则第二行将失败,因为最后一个字段没有10个字符可读取。但是,如果将TRUNCOVER选项(或PAD)添加到infle语句中,则它将起作用 你自己试试看。TEST1和TEST3工作正常。TEST2得到一张丢失的卡片便笺
data test1;
input name $ hired date9. age state $ salary comma10.;
format hired date9.;
cards;
Donny 5MAR2008 25 FL $43,123.50
Margaret 20FEB2008 43 NC 65,150
;
options parmcards=test;
filename test temp ;
parmcards;
Donny 5MAR2008 25 FL $43,123.50
Margaret 20FEB2008 43 NC 65,150
;
data test2;
infile test;
input name $ hired date9. age state $ salary comma10.;
format hired date9.;
run;
data test3;
infile test truncover;
input name $ hired date9. age state $ salary comma10.;
format hired date9.;
run;
对于不同的数据,第一个格式化的输入也会导致问题。例如,如果日期值在年份中只使用了2位数字,则会导致错误。所以它试着把FL读作年龄,然后把薪水的前8个字符读作状态,把空格读作薪水
data test1;
input name $ hired date9. age state $ salary comma10.;
format hired date9.;
cards;
Donny 5MAR08 25 FL $43,123.50
Margaret 20FEB2008 43 NC 65,150
;
结果:
Obs name hired age state salary
1 Donny 05MAR2008 . $43,123. .
2 Margaret 20FEB2008 43 NC 65150
灰色框中的数字仅用于帮助您计数字符,它按5计数字符,以帮助您在需要时找到长度/位置。1、5、10、15、20、25、30、35个字符。啊,太简单了,谢谢。我把它读成1,1,2,2,3,3,1,5,0等等谢谢!所以,如果我要使用infle导入,我可以使用truncover选项,而不是使用冒号修饰符?如果我在使用cards函数,有没有必要使用冒号修饰符,因为有填充?TRUNOVER实际上只是处理读取粘贴到行尾的问题。但是在中间行的格式化输入也会导致问题,但这个小例子并不适用。如果租用日期值在年份中只有两位数字,则会导致问题。有时,人们喜欢跳过实际定义字符变量的长度,并在输入语句中使用informat来提示SAS如何定义变量。没有冒号,可以直接读取行中值之间的分隔符并使输入不同步。我想我现在已经找到了。谢谢!我尝试使用带冒号和不带冒号的信息(在使用卡片的测试数据上),并注意到SAS不知道在哪里将观察结果分成正确的列,除非我在变量和信息之间添加冒号。