Exce表格网

如何把sas数据导入excel(sas导入数据库)

来源:www.0djx.com  时间:2023-01-07 22:25   点击:263  编辑:表格网  手机版

1. sas导入数据库

包括三个重要步骤:第一个是数据步骤, 第二个是PROC步骤, 第三个是输出步骤。除了这些步骤之外, 编程结构还包括数据集, 标签, 变量, 值和运行。在分析数据之前, 你应该使用SAS读取数据, 并且数据必须采用数据集的形式。 SAS数据集用于以表格形式, 即以行和列的形式来组织数据值。

2. sas 数据导入

用access自动获取excel里的数据的方法就是通过代码的方式导入。如果是对手动导入比较清楚的话,这个实现起来不难。请参考下面的介绍来实现:首先,新建一个工程,在工程中引用如下对象ADO对象(用于连接ACCESS数据库,可用其它方式) 添加一个窗体(from1),在窗体上添加如下控件: 两个文本框,用来显示EXCEL文件路径和ACCESS路径; 四个扭钮,两个用来游览,另两个是导入和退出; 两个通用对话框控件,用来打开ACCESS和EXCEL文件,一个进度条控件,用来显示导入进程。 该实例的导入是将ACCESS数据库中表的字段名单独存放在另外一个表中,导入时按表中所存字段名的顺序进行导入,不是按EXCEL表的顺序导入,请大家注意.这样在实际中是很实用的.因为好多时候EXCEL表中字段顺序和ACCESS中字段顺序有可能不是一致的.代码如下:Dim vOption ExplicitPrivate Sub cmdLoad_Click()Dim excel_app As ObjectDim excel_sheet As ObjectIf txtExcelFile.Text = "" ThenMsgBox "请选择EXCEL表"ElseDim new_value As StringLabel2.Caption = "正在导入,请稍候..." Screen.MousePointer = vbHourglass DoEvents '' Create the Excel application. Set excel_app = CreateObject("Excel.Application") '' Uncomment this line to make Excel visible. excel_app.Visible = True '' Open the Excel spreadsheet. excel_app.Workbooks.open FileName:=txtExcelFile.Text '' Check for later versions. If Val(excel_app.Application.Version) >= 8 Then Set excel_sheet = excel_app.ActiveSheet Else Set excel_sheet = excel_app End If Dim u ''求EXCEL表中记录的条数,以便控制进度条u = 1Do If Trim$(excel_sheet.Cells(u, 1)) = "" Then Exit Do u = u + 1 Loop bar.Max = u - 1 strSQL = "select * from TestValues" yourRecord.open strSQL, myConn, adOpenDynamic, adLockOptimistic ''打开记录集 Dim sql As String sql = "select * from fields order by xue" myRecord.open sql, myConn, adOpenDynamic, adLockBatchOptimistic ''打开字段记录集 myRecord.MoveFirst '' Get data from the Excel spreadsheet and insert '' it into the TestValues table.Dim v ''导入记录,用了两层循环 v = 1 Do If Trim$(excel_sheet.Cells(v, 1)) = "" Then Exit Do ''外层,如果EXCEL表中读取到空行,结束yourRecord.AddNew Dim i For i = 1 To myRecord.RecordCount '' Get the next value. new_value = Trim$(excel_sheet.Cells(v, i)) '' See if it''s blank. ''If Len(new_value) = 0 Then Exit Do '' Insert the value into the database.Dim bb As String bb = myRecord("name") yourRecord(bb) = new_value myRecord.MoveNext Next i bar.Value = v v = v + 1 myRecord.MoveFirst Loop yourRecord.Update '' Comment the rest of the lines to keep '' Excel running so you can see it. '' Close the workbook without saving. excel_app.ActiveWorkbook.Close False '' Close Excel. excel_app.Quit Set excel_sheet = Nothing Set excel_app = Nothing myRecord.CloseyourRecord.CloseSet myRecord = NothingSet yourRecord = NothingLabel2.Caption = "导入完毕" Screen.MousePointer = vbDefault MsgBox "共导入" & Format$(v - 1) & "条记录" End If End SubPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub Command2_Click(Index As Integer)''寻找ACCESS数据库CommonDialog1.Filter = "ACCESS 文件(*.mdb)|*.mdb"CommonDialog1.CancelError = TrueCommonDialog1.ShowOpentxtAccessFile.Text = CommonDialog1.FileNameEnd SubPrivate Sub Command3_Click()''寻找excel数据库CommonDialog2.Filter = "excel 文件(*.xls)|*.xls"CommonDialog2.CancelError = TrueCommonDialog2.ShowOpentxtExcelFile.Text = CommonDialog2.FileNameEnd SubPrivate Sub Form_Load()Call Module1.lianjietxtAccessFile.Text = datapath End Sub模块(module1)中的代码如下:Public myConn As New ADODB.Connection ''定义连接字符串Public myRecord As New ADODB.Recordset ''定义记录集(字段)Public yourRecord As New ADODB.Recordset ''定义记录集(数据)Public cntoad As Boolean ''是否正常连接Public ml ''姓名字段所在列Public strSQL ''查询字符串Public MyDatabase As Database ''定义数据库名Public MyTable As TableDef, MyField As Field ''定义表名和字段名Public xuehao ''读取字段序号Public goshiRecord As New ADODB.Recordset ''定义记录集(公式)Public hxfyn As BooleanPublic hxfbds '' 公式或条件Public duan ''要统计的字段Public islinshi As Boolean ''是否为临时公式Public leiRecord As New ADODB.Recordset ''定义记录集(工资类别)Public datapath As String ''数据库路径及名Public table As String ''工资表名Public lei As String '' 工资类别Public Sub lianjie() ''打开数据库On Error Resume NextmyConn.CloseDim mySQL As String ''设定连接字符串 mySQL = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" mySQL = mySQL + "Data Source=" & datapath myConn.ConnectionString = mySQL ''设定连接 myConn.open ''打开连接 myRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为Connection myRecord.CursorLocation = adUseClientgoshiRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为ConnectiongoshiRecord.CursorLocation = adUseClient yourRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为Connection yourRecord.CursorLocation = adUseClientEnd Sub

3. sas怎么导入数据集

方法一,容易出错:

*通过 import 过程读取外部excel文件建立数据集;libname paper1 'e:\目录名'

;proc import out=x.abc /*输出的数据集名*/ datafile="E:\目录名\xyz.xlsx"

;/*要导入的excel文件的完整路径和数据名,要写清楚扩展名*/ range = "sheet1$"

;/*指出电子表格中的那一个表单,就是表单名字*/ getnames=yes;/*指出第一行是否有字段名*/ run;run之前可以加其他参数:

方法二:你干脆找软件Stat/Transfer,转换格式以后再到SAS里打开数据

4. 怎么把数据导入sas

导入数据闪退可能是因为内存太满了导致无法正常运行

5. sas导入了数据后怎么调用

SAS导入数据不成功最简单的解决办法 划重点:根据数据文件的格式的后缀,把dbms=后面,改为导入文件的后缀名即可

6. sas导出数据

用下面的程序将excel表格导入到SAS中,proc import out=a1/*a1为表格1,表格2用同样的方法导入*/datafile=" ### "dbms=excel 2000 replace;range="a1";getnames=yes;run;用下面的程序将a2中符合a1条件的数据筛选出来就行了:

proc sql;create table a3 as select 股票代码,收盘价 from a1,a2 where a2.股票代码=a1.股票代码;run;a1为表格1a2为表格2a3是结果

7. sas如何导入sas类型数据

可能是导入的方法出现了故障

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片