SAS中文论坛

标题: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中? [打印本页]

作者: shiyiming    时间: 2011-7-12 16:28
标题: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?例如,我有一个名为Test的数据集,里面的字段包括(AccountNumber,ProductType,AutoPaySetupDate,FirstName1,LastName1等..),另外一个数据集Test2,我需要把Test里面的这些字段对应的值into到Test2中,而且Test的字段要对应上Test2的字段..像这种情况,我改怎么做?请各位高手指教,谢谢..
作者: shiyiming    时间: 2011-7-14 04:21
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
can not understand you at all. could you give us an example of test/test2, and the target which you want? that will be very helpful.
作者: shiyiming    时间: 2011-7-14 04:27
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
is that you want or talking about?[code:28s0hprk]data test1;
input an pt $ apsd fn $ ln $;
cards;
1 pt1 3 aa bb
;
data test2;
input an pt $ apsd fn $ ln $;
cards;
2 pt3 5 cc dd
;
data test2;
  set test1 test2;
run;[/code:28s0hprk]
作者: shiyiming    时间: 2011-7-14 15:57
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
就像是sql中的这种,我如何用sas实现这种功能?例如:
declare @ident varchar(50)
set @ident = '&REQ#3220'
INSERT INTO pt_BankFile_process (
                UploadID ,
                BankID ,
                AccountNumber ,
                MyAccountNumber,
                ProductType ,
                OpenDate ,
                OpenBalance ,
                AutoPay ,
                PCB,
                E_statements,
                DebitCard,
                FirstName1 ,
                LastName1 ,
                Address1 ,
                Address2 ,
                State ,
                City ,
                ZipCode ,
                Phone ,
                Email ,
                DD ,
                DT ,
                BillPay ,
                ResultCode ,
                ErrorDescription ,
                MatchStatus ,
                CorrectedPhoneNum ,
                IsExpire ,
                IsHistory ,
                Branch       
        )
SELECT
                 UploadId                                                                                                               
                ,a.BankID                                                                                                               
                ,a.AccountNumber                                                                                               
                ,a.MyAccountNumber
                ,ProductType                                                                                                       
                ,CONVERT(DATETIME,Date_Account_Opened)                                                       
                ,CAST(REPLACE(REPLACE(Balance,'$',''),',','') AS DECIMAL(18,2))       
                ,AutoPaySetupDate                                                                                               
                ,Homebk                                                         
                ,E_statements                                                   
                ,a.Debit_Cd                                                     
                ,FirstName1_bulked                                                                                               
                ,LastName1_bulked                                                                                               
                               ,Address1_bulked       
                              ,Address2_bulked       
                              ,State_bulked               
                              ,City_bulked               
                               ,Zip_bulked                       
                              ,Phone                               
                              ,Email                               
                              ,DD_Times                       
                               ,DT_Times                       
                              ,Bill_Times                       
                               ,0                                       
                               ,'@ident'                       
                              ,'UnMatched'               
                               ,Phone                               
                               ,0                                       
                               ,0                                       
                               ,Branch       
             FROM #t3 a  
WHERE a.HasAccountNumber='Y'
请各位指教,我如何才能像sql一样,把我需要的这些数据通过sas处理出来?
作者: shiyiming    时间: 2011-7-16 08:33
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
贴部分test和test2的数据出来,然后对应着数据来描述下问题才会直观一些! <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
作者: shiyiming    时间: 2011-7-17 04:59
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
sorry that I can't input Chinese right now.

I believe you can use MODIFY statement, very possibly use KEY= , together.
作者: shiyiming    时间: 2011-7-18 05:10
标题: Re: 紧急求助!!SAS中如何把一个数据集中的某些数据插入到到另一个数据集当中?
[quote:2ycq9ese]proc sql;
        INSERT INTO pt_BankFile_process (
        UploadID ,
        BankID ,
        AccountNumber ,
        MyAccountNumber,
        ProductType ,
        OpenDate ,
        OpenBalance ,
        AutoPay ,
        PCB,
        E_statements,
        DebitCard,
        FirstName1 ,
        LastName1 ,
        Address1 ,
        Address2 ,
        State ,
        City ,
        ZipCode ,
        Phone ,
        Email ,
        DD ,
        DT ,
        BillPay ,
        ResultCode ,
        ErrorDescription ,
        MatchStatus ,
        CorrectedPhoneNum ,
        IsExpire ,
        IsHistory ,
        Branch
        )
        SELECT
        UploadId
        ,a.BankID
        ,a.AccountNumber
        ,a.MyAccountNumber
        ,ProductType
        ,datetime()
        ,translate(translate(Balance,'$',''),',','')  format = 20.2
        ,AutoPaySetupDate
        ,Homebk
        ,E_statements
        ,a.Debit_Cd
        ,FirstName1_bulked
        ,LastName1_bulked
        ,Address1_bulked
        ,Address2_bulked
        ,State_bulked
        ,City_bulked
        ,Zip_bulked
        ,Phone
        ,Email
        ,DD_Times
        ,DT_Times
        ,Bill_Times
        ,0
        ,'&amp;REQ#3220'
        ,'UnMatched'
        ,Phone
        ,0
        ,0
        ,Branch
        FROM #t3 as a
        WHERE a.HasAccountNumber='Y'
        ;
quit;[/quote:2ycq9ese]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2