由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教 SAS import excel RANGE 的问题。
相关主题
Help: Import ACCESS 2007 data from SAS9.2SAS 数据读入的问题 (proc import)
用SAS merge Excel cells ?where is SAS error?
VBA在统计编程中的市场大不大?questions about SAS import Excel data
[合集] VBA在统计编程中的市场大不大?在SAS里怎么把两个相同格式表合成一个表
一个有意思的问题,关于SAS的运算时间。SAS macro to import multiple csv file??
SAS不能导入EXCEL2003的数据!SAS date format 的问题
SAS的一个小问题SAS proc import excel file 紧急求助
help on importing csv file to SASexcel一问
相关话题的讨论汇总
话题: range话题: a3话题: excel话题: sas话题: import
进入Statistics版参与讨论
1 (共1页)
l*****8
发帖数: 483
1
我有很多个excel file, column name 都是在第三行,但每个文件都有不同的数量的
row.
如果用range的话, range='A3:最后一个数据“
我想写macro, 因为每个文件的大小不一样, 请问我如何知道最后一个数据的range.
我只知道起点是A3
不希望需要手工写 A3:N5 或者A3:N99。。。。。
谢谢
%macro read_excel(filename,dataset_name,tab_name);
proc import out=&dataset_name
datafile="C:\Documents and Settings\gguo\Desktop\&filename..xls"
dbms=excel2000 replace;
range ="&tab_name.&A3:最后一个数据的range";
getnames=yes;
run;
d**********r
发帖数: 24123
2
知道最后一个数据的range要动到DDE才行。
为什么不直接使用最大的range import呢?然后再到SAS里去掉不要的行就可以了。
l***a
发帖数: 12410
3
问个题外的,现在sas还没法直接import 2007/2010版excel的sheet吧

【在 d**********r 的大作中提到】
: 知道最后一个数据的range要动到DDE才行。
: 为什么不直接使用最大的range import呢?然后再到SAS里去掉不要的行就可以了。

d**********r
发帖数: 24123
4
至少去年的package还不可以。

【在 l***a 的大作中提到】
: 问个题外的,现在sas还没法直接import 2007/2010版excel的sheet吧
l*****8
发帖数: 483
5

对不起, 问题不小心发你邮箱里去了
我的第三行才是真正的column name, 如果用大的range, 那column 就是 f1 f2 f3 f4
,而不是 name, age, gender etc...
或者有什么方法可以rename f1 等于 第三行里的值。
谢谢

【在 d**********r 的大作中提到】
: 知道最后一个数据的range要动到DDE才行。
: 为什么不直接使用最大的range import呢?然后再到SAS里去掉不要的行就可以了。

d**********r
发帖数: 24123
6
如果所有文件的变量个数都一样,那么你就写一个Macro rename 所有的 f1 f2 f3 f4
就好了。
实际上这样有个好处,就是所有的变量都会已text的方式读入。
如果文件的变量个数不一样,那就比较麻烦了,要写比较复杂的macro来读入第一行,存入Macro variables,然后再rename相应的variables。
或者你如果懂VBA的话,可以用DDE

f4

【在 l*****8 的大作中提到】
:
: 对不起, 问题不小心发你邮箱里去了
: 我的第三行才是真正的column name, 如果用大的range, 那column 就是 f1 f2 f3 f4
: ,而不是 name, age, gender etc...
: 或者有什么方法可以rename f1 等于 第三行里的值。
: 谢谢

l*****8
发帖数: 483
7
谢谢, 看来只有手工来改这些column了。
l*****8
发帖数: 483
8
谢谢, 看来只有手工来改这些column了。
l***a
发帖数: 12410
9
我也奇怪过,从excel的第几行开始import,按理说很简单的一个option,SAS还不给提
供一个

f4
,存入Macro variables,然后再rename相应的variables。

【在 d**********r 的大作中提到】
: 如果所有文件的变量个数都一样,那么你就写一个Macro rename 所有的 f1 f2 f3 f4
: 就好了。
: 实际上这样有个好处,就是所有的变量都会已text的方式读入。
: 如果文件的变量个数不一样,那就比较麻烦了,要写比较复杂的macro来读入第一行,存入Macro variables,然后再rename相应的variables。
: 或者你如果懂VBA的话,可以用DDE
:
: f4

d**********r
发帖数: 24123
10
还有一个方法就是把Excel 存为csv文件,然后读入csv文件就可以选择starting row。
不过这样的话每个sheet都要save一次。
如果会VBA的话,就很容易,不会VBA的话,就比较麻烦。

【在 l***a 的大作中提到】
: 我也奇怪过,从excel的第几行开始import,按理说很简单的一个option,SAS还不给提
: 供一个
:
: f4
: ,存入Macro variables,然后再rename相应的variables。

1 (共1页)
进入Statistics版参与讨论
相关主题
excel一问一个有意思的问题,关于SAS的运算时间。
sas importing questionSAS不能导入EXCEL2003的数据!
请教:三道SAS BASE题SAS的一个小问题
[包子问]统计新人问开学前的自学内容help on importing csv file to SAS
Help: Import ACCESS 2007 data from SAS9.2SAS 数据读入的问题 (proc import)
用SAS merge Excel cells ?where is SAS error?
VBA在统计编程中的市场大不大?questions about SAS import Excel data
[合集] VBA在统计编程中的市场大不大?在SAS里怎么把两个相同格式表合成一个表
相关话题的讨论汇总
话题: range话题: a3话题: excel话题: sas话题: import