Tag: sas

SAS脚本从元数据中列出所有SAS服务器用户

我需要一种方法将SAS元数据中的所有SAS用户列表导入到Excel工作表中。 我正在考虑用Microsoft Office的SAS插件来创builddynamic数据源,从SAS服务器dynamic地检索用户列表。 如果我要这样做,我需要知道如何在SAS代码中做到这一点。 有谁知道我会如何编写一个SAS脚本来显示SAS元数据中所有用户的列表,或者甚至可能吗? 我一直在试图find网上的东西,但没有任何运气。 我有完整的pipe理员权限,所以没有问题。 谢谢!

使用macros将多个sas数据集导出到多个Excel表单中?

我正在查看是否有一个macros可以将多个数据集导出到工作簿中的单独的Excel工作表中。 如果我可以为每个工作簿10张,那将会很棒。 我可以按照以下常用方式来完成,但是我有超过100个数据集要导出: PROC EXPORT DATA=HAVE; OUTFILE= "S:\MYEXCEL.xlsx" DBMS=EXCEL REPLACE; SHEET="NEW_SHEET"; RUN; 谢谢!

错误:无法findExcel引擎

我正在学习SAS。 我试图运行一个示例程序: libname x "c:\Joe\SAS\class.xls"; data x.sheet2; set x.'sheet1$'n; bmi = 703 * weight / height**2; run; libname x clear; 我得到这个错误: 错误:无法findEXCEL引擎。 错误:在LIBNAME语句中出错。 我在互联网上发现了一个网站,说要做一些事情: libname x excel "c:\Joe\SAS\class.xls"; 但是我得到同样的错误。 任何想法如何解决这个问题?

SAS:使用PROC IMPORT导入.xlsx时定义types

问题:如何在使用PROC IMPORT时定义从.xlsx文件导入的variablestypes? 我的工作 我正在使用SAS v9.4。 据我所知,这是香草SAS。 我没有SAS / ACCESS等 我的数据如下所示: ID1 ID2 MONTH YEAR QTR VAR1 VAR2 ABC_1234 1 1 2010 1 869 3988 ABC_1235 12 2 2010 1 639 3144 ABC_1236 13 3 2010 2 698 3714 ABC_1237 45 4 2010 2 630 3213 我正在运行的程序是: proc import out=rawdata datafile = "c:\rawdata.xlsx" dbms = xlsx […]

DDE SAS来运行VBA代码

我无法让Excel 2010从SAS执行macros。 我从一些SAS表导出数据到Excel,这工作正常,当我手动运行VBAmacros它也做它应该,但它不会自动执行。 Excel文件被称为“FIH.xls”,macros被称为“Opryd”作为Module1。 SAS日志不会出现任何错误,Excel也不会。 我已经允许所有的macros在Excel设置中运行。 它仍然不执行。 options noxwait noxsync; x '"C:\FIH.xls"'; /* Putting SAS in sleep mode to give Excel the necessary time to open the file */ data _null_; x=sleep(5); run; FILENAME excel DDE 'EXCEL|Grp!r5c8:r7c20' notab; DATA _NULL_; SET gem.rap_konc_selskab; FILE excel; PUT '09'x selskab_rap '09'x gr_vis_start '09'x man_amt '09'x '09'x '09'x rest_2 […]

使用SAS或Excel删除“几乎重复”

我在SAS工作,我有一个数据集与2列,我不仅要删除重复,而且“几乎”重复。 数据如下所示: **Brand Product** Coca Cola Coca Cola Light Coca Cola Coca Cola Lgt Coca Cola Cocacolalight Coca Cola Coca Cola Vanila Pepsi Pepsi Zero Pepsi Pepsi Zro 我不知道它是否真的有可能,但是我想删除“重复项”之后的文件看起来像这样: **Brand Product** Coca Cola Coca Cola Light Coca Cola Coca Cola Vanila Pepsi Pepsi Zero 只要没有“重复”的数值,如果决赛桌上有例如“百事可乐”或“百事可乐”,我就没有偏好。 我在考虑是否有办法比较第一个4-5个字母,如果他们是相同的,那么把它们看作是重复的。 但我当然愿意提出build议。 如果在excel中还有一个办法可以做的话,我会很乐意听到。

如何使用SAS从Excel读取不正确格式的列

在发布之前,我尝试了谷歌,但没有很多的帮助。 我有一个在Opened_DT列中有这个值的Excel文件 : 1448300037,15 。 Excel只显示一堆######字符而不是date。 我已经得到这个文件,不知道date格式应该是什么样的实际输出。 它应该说明一个帐户已经与一个机构开设的date。 我需要将这个Excel列导入SAS数据集,但是这个string让我疯狂:(我尝试了一堆转换工具和插件,但没有运气。 有人可以告诉我如何使用SAS阅读本专栏? 这是我的Excel工作簿的一个例子

Excel-VBA将不正确的date值从SAS传输到Excel表单

我的VBA代码通过ADODB.Connection和"SAS.LocalProvider.1"将SAS表传输到Excel表。 两个SAS列的date格式为YYYY-MM-DD ,如2015-09-01和2015-09-30 。 我也使用了我的VBA代码中的那些列的format ,如Sheet2.Range(Range("C2"), Range("C2").End(xlDown)).NumberFormat = "YYYY-MM-DD" 。 那么它应该把整个列转换成正确的date格式。 然而,最后,我在1955-08-31和1955-08-31这样的Excel表中得到了date值,而不是2015-09-01和2015-09-30 。 我检查了SAS表,两列都是numeric ,格式是date YYDDMM10. 。 我在VBA代码中以YYMMDD和YY-MM-DD的格式显示,但是没有帮助。 它仍然是在1955年(或只有55)的同一年。 在代码中,你可以看到我试图改变“在table-transer之前”的格式。 但是我也尝试过“转账后”,但我得到了完全一样的结果。 Public Sub SASTransfer() Dim rTarget1 As Range: Set rTarget1 = Sheet2.Range("A2") Dim sSasTable1 As String: sSasTable1 = SASOutputPath & "\" & SASOutput1 & ".sas7bdat" Sheet2.Range(Range("C2"), Range("C2").End(xlDown)).NumberFormat = "YYYY-MM-DD" ' This should change the format […]

在Windows Server上运行SAS Enterprise Guide作业

我已经在SAS EG中编写了一段代码,只是打开一个Excel工作簿。 Excel工作簿包含在“工作簿打开”事件中执行的VBA代码。 所有的代码几乎都是这样的,是它每天第一次刷新所有的数据连接。 当我手动运行SAS程序时,它完全按照计划运行。 它打开Excel文件,然后触发VBAmacros。 当我在我的服务器上安排SAS EG作业时,作业运行,但是我的Excel文件没有任何反应。 我也没有在我的SAS代码或我的Windows计划日志中出现任何错误。 这是我的SAS代码: options noxwait noxsync; x '"C:\Program Files\Microsoft Office\Office15\excel.exe" "\\route\to\file\excel_macro_playground.xlsm"'; run; 这是我的VBA: Private Sub Workbook_Open() Dim wsSheet As Worksheet On Error Resume Next Set wsSheet = Sheets("book_helper") On Error GoTo 0 If wsSheet Is Nothing Then Sheets.Add.Name = "book_helper" ActiveWorkbook.RefreshAll Sheets("book_helper").Range("A1").Value = Date Sheets("book_helper").Visible = xlVeryHidden Application.DisplayAlerts […]

两次运行后,在Excel中运行SAS存储过程失败

我希望这是一个适当的地方来问这个问题。 我最近在Excel中构build了一个数据分析工具,通过向SAS存储过程(作为“inputstream”)提交input,运行stream程并在Excel中显示结果。 我还使用一些代码来检查并删除工作簿中的所有活动存储的进程再次运行该过程之前。 这第一次2次成功运行,但第三次尝试失败。 它总是失败的第三次尝试,我不明白为什么。 Excel VBA中是否有这种内存分配方式? 还是其他一些最大的缓冲区? 我已经介入了VBA代码的每一行,它似乎挂起(在第三次运行)在下面的行: SAS.InsertStoredProcess processLoc, _ outputSheet.Range("A1"), , , inputStream 用于启动Microsoft Office的SAS加载项的代码: Dim SAS As SASExcelAddIn Set SAS = Application.COMAddIns.Item("SAS.ExcelAddIn").Object 用于从目标输出表中删除存储进程的代码: Dim Processes As SASStoredProcesses Set Processes = SAS.GetStoredProcesses(outputSheet) Dim i As Integer For i = 1 To Processes.Count ' MsgBox Processes.Item(i).DisplayName Processes.Item(i).Delete Next i 用于插入和运行存储过程的代码: Dim inputStream As […]