·设为首页
·联系站长
·加入收藏
 位置: IT外包服务提供商 >> 文章频道 >> IT学堂 >> 软件学堂 >> 正文 当前没有通告!
  access大量数据的汇总技巧    3星级
access大量数据的汇总技巧
[ 作者:bianhongjin     来源:IT外包     点击数:2250     更新时间:2012-12-8     文章录入:bianhongjin
【字体: 字体颜色
 
实际工作中遇到的问题,现在有若干个ACCESS数据库(excel,epidata等同样原理),分别有若干个人录入,数据结构相同,如何将它们方便、快速的合并到一起呢?ACCESS的批量合并,网上有很多方法,如用vba实现,但比较麻烦,我用sas实现了合并,具体方法如下:
(1)把要合并的文件放到一个文件夹下(最好不要有子文件夹),写一个获取文件名的批处理,要不一个个改名,多麻烦。批处理如下(把下面代码放在txt记事本里保存,然后更改后缀名为bat,然后运行,按提示输入要合并的文件夹的路径,运行就可以得到这个文件夹下所有文件的文件名):
@echo off
if exist list.txt del list.txt /q
:input
cls
set input=:
set /p input= 输入要合并的文件所在的路径,回车确定后得到全部文件名:
set "input=%input:"=%"
:: 上面这句为判断%input%中是否存在引号,有则剔除。
if "%input%"==":" goto input
if not exist "%input%" goto input
for %%i in ("%input%") do if /i "%%~di"==%%i goto input
pushd %cd%
cd /d "%input%">nul 2>nul || exit
set cur_dir=%cd%
popd
for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do echo %%~nxi>>list.txt
if not exist list.txt goto no_file
start list.txt
exit
:no_file
cls
echo %cur_dir% 文件夹下没有单独的文件
pause
(2)构建一个excel文件,第一行为变量名,之后为具体值。第一列变量为文件名name(直接从刚才的批处理拷贝过来就行了),第二列为sas数据集名sas_name(对应于sas中的数据集名,可以用a1、a2等,用excel直接拖就行了);做好后把这个excel文件保存。
(3)启动sas系统,写下如下代码:
libname tests excel 'D:\表名文件.xls';
%include 'D:\yaowei\Macro.sas';
%macro test(name=,sas_name=);
PROC IMPORT OUT= WORK.&sas_name
DATATABLE= "test"
DBMS=ACCESS REPLACE;
DATABASE="D: \&name";
SCANMEMO=YES;
USEDATE=NO;
SCANTIME=YES;
RUN;
%mend;
%TableDrivenMacro(table=TESTS.'Sheet1$'n,
macro=test,
Parms=name table );
run;
(4) 运行以上代码,可以将数据全部读如到sas,如何合并就太简单了吧。
编辑:北京信诚www.xcitbm.com>IT保姆www.xcitbm.com>IT外包部 http://www.xcitbm.comwww.xcit.com.cn
  • 上一篇文章: access常用的日期函数

  • 下一篇文章: access常用的日期函数
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
     最新5篇热点文章
     联想固态硬盘SL700在BIOS里...
     IT外包首选我们的八大理由...
     中国劳科院与我公司续签了...
     中共中央政治局常务委员会...
     北京IT外包服务联盟知行社...
     
     最新5篇推荐文章
     0x000000ce蓝屏解决方案
     HP 706n 打印机打印A3纸的...
     什么是网络瓶颈?
     网线质量不好有什么影响?...
     蓝屏提示0x0000006B
     
     相 关 文 章

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
  • 这篇文章还没有任何评论。
  • ::发表评论::
    姓名:  *  Email: * 
    评分:10  20  30  40  50  60  70  80  90  100