计算与SAS中的一个电话号码关联的不同人员

时间:2012-12-12 21:09:33

标签: sas counting

我有几百万条记录,其中包含姓名和电话号码列表。我需要计算每个唯一电话号码的人数。电话号码与重复的名称和唯一名称相关联。因此,对于每个电话号码,我需要计算不同用户的数量。然后,这需要映射到商店列表。我尝试选择不同的手机/不同的手机,但这只给我一个分配比例。例如,如果有10个人使用三部手机,那么我的比例告诉我3个手机分布在10个人之间,但它并没有告诉我与手机相关的实际人数。任何人都可以帮我使用SAS代码来获得正确的计数,我知道确切地说有多少手机与同一个电话号码相关联。提前致谢。 -r

2 个答案:

答案 0 :(得分:1)

如果您只想要具有相同电话号码的不同行数,请使用:

proc sql;
create table phone_number_counts as
 select phonenumber, count(1) as count_users
 from dset
 group by phonenumber;
quit;

如果您想在电话号码中找到不同的名字,即if 555-123-4567 John H. 555-123-4567 John H. 555-123-4567 Mary Y

应该导致2,而不是3(第一个代码会产生3),然后使用count(distinct name)代替count(1).

如果您需要其他内容,一些示例数据可能会有所帮助 - 例如,初始数据的示例和正确的最终数据集的示例将会有所帮助。

答案 1 :(得分:0)

我相信你正在寻找count(distinct name)

proc sql;
  create table phone_number_counts as
  select phonenumber, 
         count(*) as count_rows,
         count(distinct name) as unique_names
  from dset
  group by phonenumber;
quit;