Ich versuche, ein kleines Berichterstellungstool (mit SQLite-Backend) zu entwickeln. Ich kann dieses Tool am besten als "Transaktions" -Buch beschreiben. Ich versuche, "Transaktionen" aus dem wöchentlichen Datenextrakt zu verfolgen:
- "neu" (oder hinzufügen) - Die Ressource ist neu in meiner App, da meine App diese Ressource möglicherweise noch nicht verfolgt hat, da sie nicht über Auszüge angezeigt wurde .
- "Update" (oder Treffer) - Diese Ressource wurde kürzlich verwendet. Die Aufbewahrungsdauer wird um eine weitere Woche aktualisiert.
- "Löschen" (oder Löschen) - Dieses Element wurde seit dem letzten Bericht nicht mehr verwendet (optional, wäre aber hilfreich, um Änderungen des Ressourcenbedarfs von Woche zu Woche grafisch darzustellen).
Alles, was ich habe, ist ein wöchentlicher Datenextrakt (durch Pipe getrennte Flatfile), der aus einem alten Archivierungs- / Datensatzverwaltungssystem stammt, über das ich keine Kontrolle habe.
Jede Linie kann grundsätzlich folgendermaßen destilliert werden:
resource_id | resource info | customer_id | customer_info
Beispieldaten:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
Ziel ist es, die Berichterstattung über Ressourcen zu vereinfachen, die seit X Monaten nicht mehr verwendet wurden (basierend auf dem letzten Treffer). Es gibt eine Aufbewahrungsfrist, in der Ressourcen für einen einfachen Zugriff aufbewahrt werden, wenn sie beliebt sind. Eine Ressource, die seit 18 Monaten nicht mehr verwendet wird, ist für die langfristige Archivierung an anderer Stelle gekennzeichnet.
Dies muss ein häufiges Problem sein. Sie fragen sich, ob es einen Allzweckalgorithmus gibt, mit dem ermittelt werden kann, was zwischen Datensätzen neu / gleich / entfernt ist (Datenbank vs. letzter Auszug)?