私は以下@Jonathan Porter
の
に似て答えを考えることができるで動作するように、より大きな出発データセットを持つことです。
/*Generate a more diverse starting dataset*/
data X1;
format A mmddyy9.;
array names [10] $ 20 ('Phillip','Wendi','Virgilio','Scotty','Melony','Rayford','Vince','Cody','Julissa','Marquerite');
do i=1 to 30;
A = intnx('DAY', '01MAY2017'd, ceil(ranuni(3)*10));
B = names[ceil(ranuni(3)*10)];
output;
end;
drop names: i;
run;
proc sort data=X1 nodups;
by A B;
run;
データセットX1の開始:
A B
----------------------
5/2/2017 Rayford
5/2/2017 Virgilio
5/3/2017 Cody
5/3/2017 Melony
5/3/2017 Rayford
5/3/2017 Wendi
5/4/2017 Scotty
5/5/2017 Rayford
5/5/2017 Wendi
5/6/2017 Rayford
5/6/2017 Vince
5/7/2017 Marquerite
5/7/2017 Virgilio
5/8/2017 Julissa
5/8/2017 Rayford
5/9/2017 Cody
5/9/2017 Julissa
5/9/2017 Marquerite
5/9/2017 Virgilio
5/9/2017 Wendi
5/10/2017 Julissa
5/10/2017 Phillip
5/11/2017 Cody
5/11/2017 Vince
グループを検索カウントと最新の関連する日付:
proc sql;
create table X2 as
select max(A) as latest_A format=mmddyy9., /*Latest date to which a name (B) is associated*/
B,
count(*) as count_B /*Count of records associated with a given name (B)*/
from X1
group by B;
quit;
proc sort data=X2;
by latest_A B;
run;
ジョナサンが述べたように、私はあなたが以下のX2でアスタリスクを持つレコードに興味を持っていると仮定します。
latest_A B count_B
------------------------------------
5/3/2017 Melony 1 ***
5/4/2017 Scotty 1 ***
5/8/2017 Rayford 5
5/9/2017 Marquerite 2
5/9/2017 Virgilio 3
5/9/2017 Wendi 3
5/10/2017 Julissa 3
5/10/2017 Phillip 1 ***
5/11/2017 Cody 3
5/11/2017 Vince 2
はちょうど列 'B'、または列に一致するものを意味し、「ないX2に」い「A」も? – halfer
(あなたの質問を編集しても構いませんが、私の良い編集を投げ捨ててください)編集する前に編集履歴を見てください。 – halfer
申し訳ありません、編集を終了しました。 Aが含まれています。私は各日付の前に不一致部分を見つけたい。ありがとうございました。 – Sylvia