我试图让所有只从我的数据中购买过一种产品的客户。
E.g我这里有一个数据表。
CustomerID purchasedProduct
1 k
1 k
1 k
2 n
2 k
2 k
3 k
3 k
3 k
我希望得到所有只购买过k产品的客户。在这个例子中,我喜欢从customerID 1和3获取所有数据,因为customerID 2购买了n产品。 我该怎么办?
答案 0 :(得分:1)
PROC SQL
非常适合此类任务...使用子查询让客户购买单个产品,然后使用该列表对主数据集进行子集化。
proc sql ; select * from maindata where CustomerID in(select CustomerID from maindata group by CustomerID having count(distinct(PurchasedProduct)) = 1) and PurchasedProduct = 'k' ; quit ;