2016-04-25 5 views
1

私は2ヶ月の取引日を持っていますが、その特定の顧客のその月の最初の取引日のみを抽出する必要があります。そのように私は月が賢明である必要があります。私はSASについてこれについて適切な考えを得ていませんでした。誰も助けることができますか?前もって感謝します。SASで最初の取引日を見つける

Cust_name Vis_date V 3/1/2016 V 8/1/2016 V 16/1/2016 V 18/1/2016 V 26/1/2016 V 27/1/2016 E 5/1/2016 E 8/1/2016 E 18/1/2016 E 19/1/2016 E 25/1/2016 E 26/1/2016 V 4/2/2016 V 8/2/2016 V 17/2/2016 V 25/2/2016 V 26/2/2016 V 27/2/2016 E 5/2/2016 E 8/2/2016 E 23/2/2016 E 24/2/2016 E 25/2/2016 E 28/2/2016

答えて

0

私は最初に各レコードの月を取得してから並べ替えます。次のようにそれを使用すると、データの段階で観測を引き出すことができます。

data test.doc1;                               
set test.doc;                               

Month = month(__Vis_date);                            
run;                                  

proc sort data=test.doc1;                            
by Cust_name Month __Vis_date;                           
run;                                  

data test.doc2;                               
set test.doc1;                               
by Cust_name Month;                              
if first.Month then output;                            
run;   
あなたは、単一のSQL文でそれを行うことができます
+1

これは1年間のデータにのみ有効です。データ内に1年以上のデータがあると、不正確な結果が得られます。 –

0

月の追跡し、変数を作成した場合、これはかなり容易になります!このためにはVis_dateを日付変数としてフォーマットする必要があります。

data your_data2; 
    set your_data; 
    month = month(vis_date); 
run; 

proc sort data = your_data2; 
by cust_name vis_date; 
run; 

proc sort nodupkey data = your_data2; 
by cust_name month; 
run; 
+0

これは、各月の最初のレコードを引き出していません各顧客について – DCR

+0

最初にcust_name vis_dateでソートしてからnodupkeyをcust_name monthでマイナスにしてください。 – superfluous

+0

あなたのコードを使って、私はいくつかの変更を行い、答えを得ました。友人をサポートしてくれてありがとう。変更されたコードは以下の通りです。 data your_data2; あなたの_データを設定します。 月=月(vis_date); \t check = catx( "_"、Cust_name、month); \t実行; proc print; \t実行; proc sort data = Your_data2 nodupkey; Vis_dateによる ;小切手による ; 実行; proc印刷データ= Your_data2; 実行; –

0

 
proc sql ; 
    create table want as 
    select Cust_name, 
     put(Vis_date,yymmn6.) as Month, 
     min(Vis_Date) as First_Date format=date9. 
    from have 
    group by 1,2 
    order by 1,2 ; 
quit ; 
関連する問題