大家晚上好,努力工作閾值到LINQ查詢(IES)
我一直在試圖找出最有效的方式做到這一點,但我未能達到。這是怎麼回事......
我最終試圖根據特定客戶的購買習慣和給定的門檻,例如50%來確定「喜歡的客戶」。 IE客戶1購買了產品A,B,C,D ......客戶2購買了B,C,D,E ......這兩個客戶都是> = 50%「相似性」,因此它們應該匹配。
我的架構是可以預期
CLIENT (1 ----- many) CLIENT_PURCHASE (1 -------many) PRODUCT
*clientID *clientID *prodID *prodID
現在我忽略的門檻,只是想找到誰購買1號客戶的歷史記錄中的任何項目的客戶。我認爲我有以下兩個查詢工作:
var clientOneHistory = (from cp in client.Client_Purchase
select cp.prodID).ToList();
var matchedClients = (from cp in db.Client_Purchase
where clientOneHistory.Contains(cp.prodID)
select cp.Client.fullname).Distinct().ToList();
所以我最終的問題是,「我如何在閾值部分工作? 感謝您的時間
說客戶1購買A,B和客戶2購買A,B,C,D他們是100%相同還是50%相同? – spender 2010-11-03 01:45:03
對不起,我應該更清楚一點關於門檻。 簡而言之,我想比較客戶1的購買與其他人的購買。如果顧客1購買了A B,並且顧客2購買了A B C D,則在購買顧客1的100%購買時,顧客2在技術上將超過最低所需閾值50%。 總的百分比將超出客戶1的購買。如果客戶2只購買了A,他將是50%「喜歡」客戶1.希望這足夠清楚。請讓我知道任何其他澄清。再次感謝各位 – dahnealdo 2010-11-03 02:00:46