2015-09-07 164 views
-3

我有以下數據集:PROC SQL SAS編程

Name Address   Bank_Account Ph_NO IP_Address Chargeoff 
AJ 12 ABC Street  1234  369  12.12.34   0 
CK 12 ABC Street  1234  450  12.12.34   1 
DN 15 JMP Street  3431  569  13.8.09   1 
MO 39 link street 8421  450  05.67.89   1 
LN 12 ABC Street  1234  340  14.75.06   1 
ST 15 JMP Street  8421  569  13.8.09   0` 

使用這個數據集我想創建SAS以下觀點:

Name CountOFAddr CountBankacct CountofPhone CountOfIP CountCharegeoff 
    AJ  3    3   1   2    2 
    CK  3    3   2   2    3 
    DN  2    1   2   2    1 
    MO  1    2   2   1    2 
    LN  3    3   1   1    2 
    ST  2    2   2   2    2 

輸出變量表示爲如下:

-CountOfAddr:對於AJ countOFAddr是3,這意味着AJ共享其地址與自身,CK和LN

-CountBankAcct:對於BankAcct的MO計數爲2,這意味着MO共享其銀行帳戶號碼與自身和ST類似於CountofPhone和CountOfIP的變量。

-CountChargeoff:這一個是有點棘手,它基本上意味着AJ鏈接到CK和LN通過地址......無一不CK和LN已被控關閉,因此對於AJ的countChargeoff爲2

對於CKcountChargeOff3因爲它與自己的聯繫,通過MO銀行賬戶,並通過LN/AJ地址...所以總chargeoffCK's網絡是CK+CO計數的LNMO+CO計數AJ+CO計數3(CO計數)

我目前在金融服務公司擔任風險分析師,此問題的代碼可幫助我們顯着減少欺詐性賬戶的資金來源。

謝謝。

+0

你知道如何在SAS中創建視圖嗎?或者只是需要SQL的幫助? '關閉'字段不清楚 –

+0

是的,關閉是沒有意義的。其他所有的東西都是一個簡單的'select count(*)from ... where bank_account = ...'例如 – Blindy

+0

要堅持SO規則,你應該發佈你已經試過的東西,這不是一個代碼寫入服務。 – Reeza

回答

1

SQL Fiddle Demo

SELECT 
    Name, 
    (SELECT Count(Address) 
    FROM dataset d2 
    WHERE d1.Address = d2.Address 
    ) CountOFAddr, 

    (SELECT Count(Bank_Account) 
    FROM dataset d2 
    WHERE d1.Bank_Account = d2.Bank_Account 
    ) CountBankacct, 

    (SELECT Count(Ph_NO) 
    FROM dataset d2 
    WHERE d1.Ph_NO = d2.Ph_NO 
    ) CountofPhone, 

    (SELECT Count(IP_Address) 
    FROM dataset d2 
    WHERE d1.IP_Address = d2.IP_Address 
    ) CountOfIP, 

    (SELECT count(d2.Chargeoff) 
    FROM dataset d2 
    WHERE d1.name <> d2.name 
     and ( d1.Address = d2.Address 
      or d1.Bank_Account = d2.Bank_Account 
      or d1.Ph_NO = d2.Ph_NO 
      or d1.IP_Address = d2.IP_Address 
      ) 
    ) CountCharegeoff   
FROM dataset d1 

我包括關機充電計算。

將所有d2 <> d1.name帶到哪裏有任何共同的領域。然後數一數。

+0

我包括計算費用。幷包括小提琴 –

+0

爲什麼downvote? –

+1

我沒有做倒票,但我想這是因爲沒有解釋和可能,因爲OP沒有發佈任何嘗試,所以這不是一個有效的SO應該被回答。 – Reeza