ฉันพยายามพัฒนาเครื่องมือการรายงานขนาดเล็ก (พร้อม backend sqlite) ฉันสามารถอธิบายเครื่องมือนี้ในฐานะบัญชีแยกประเภท "ธุรกรรม" ได้ดีที่สุด สิ่งที่ฉันพยายามทำคือติดตาม "การทำธุรกรรม" จากการดึงข้อมูลรายสัปดาห์:
- "ใหม่" (หรือเพิ่ม) - ทรัพยากรเป็นสิ่งใหม่สำหรับแอปของฉันเนื่องจากแอปของฉันอาจไม่ได้ติดตามทรัพยากรนี้มาก่อนเนื่องจากไม่ได้เห็นผ่านสารสกัด
- "อัปเดต" (หรือกด) - มีการใช้งานล่าสุดของทรัพยากรนั้นอัปเดตช่วงเวลาการเก็บข้อมูลภายในสัปดาห์อื่น
- "ลบ" (หรือลดลง) - รายการนี้ไม่เห็นการใช้งานตั้งแต่รายงานล่าสุด (ตัวเลือก แต่จะดีสำหรับการทำกราฟการเปลี่ยนแปลงความต้องการทรัพยากรในแต่ละสัปดาห์ต่อสัปดาห์)
ทั้งหมดที่ฉันได้รับคือสารสกัดข้อมูลรายสัปดาห์ (ไฟล์ที่คั่นด้วยไพพ์ไลน์) มาจากระบบเก็บถาวร / จัดการบันทึกแบบดั้งเดิมที่ฉันไม่สามารถควบคุมได้
แต่ละบรรทัดสามารถกลั่นโดยพื้นฐานนี้:
resource_id | resource info | customer_id | customer_info
ข้อมูลตัวอย่าง:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
เป้าหมายคือทำให้ง่ายต่อการรายงานเกี่ยวกับทรัพยากรที่ไม่ได้เห็นการใช้งานสำหรับ X-month (ขึ้นอยู่กับการตีครั้งล่าสุด) มีระยะเวลาการเก็บรักษาที่ทรัพยากรถูกเก็บไว้รอบเพื่อความสะดวกในการเข้าถึงถ้าพวกเขากำลังได้รับความนิยม ทรัพยากรที่ไม่ได้เห็นการใช้งานเป็นเวลา 18 เดือนถูกทำเครื่องหมายว่าเป็นจดหมายเหตุระยะยาวที่อื่น
นี่จะเป็นปัญหาที่พบบ่อย สงสัยว่ามีอัลกอริทึมทั่วไปเพื่อกำหนดว่ามีอะไรใหม่ / เหมือนกัน / ลบออกระหว่างชุดข้อมูล (db กับสารสกัดล่าสุด)