Ich bin auf der Suche nach einer Suche, die eine Art Hybrid zwischen einem Beitritt und Union ist. Ich habe eine große Anzahl von Datensätzen in meinem Hauptdatensatz, also suche ich etwas, das keine "Brute-Force" -Methode einer Viele-zu-Viele-Matrix wäre.SAS-Hash-Tabelle (rechts beitreten/Union)
Hier ist mein Hauptdatensatz, 'All' genannt, der bereits Preis für jedes der aufgeführten Produkte enthält.
product date price
apple 1/1/2011 1.05
apple 1/3/2011 1.02
apple 1/4/2011 1.07
pepper 1/2/2011 0.73
pepper 1/3/2011 0.75
pepper 1/6/2011 0.79
Mein anderer Daten-Datensatz (‚Preise‘ - hier nicht dargestellt, sondern enthalten die gleichen zwei Tasten, Produkt und Datum) gibt Preise für alle Produkte, auf jedem möglichen Zeitpunkt. Die Hash-Tabelle nachschauen ich im Wesentlichen jedes Datum in der ‚All‘ Tabelle nachschlagen erstellen möchten würde, und die Erzeugerpreise für ALLE Produkte für dieses Datum, was zu einer Tabelle wie folgt aus:
product date price
apple 1/1/2011 1.05
pepper 1/1/2011 0.71 *
apple 1/2/2011 1.04 *
pepper 1/2/2011 0.73
apple 1/3/2011 1.02
pepper 1/3/2011 0.75
apple 1/4/2011 1.07
pepper 1/4/2011 0.76 *
apple 1/6/2011 1.10 *
pepper 1/6/2011 0.79
Das heißt, solange ein Produkt eine Datums- und Preisangabe-Tabelle 'Alle' hat, sollten alle anderen Produkte diese ebenfalls aus der Nachschlagetabelle beziehen. Die Sternchen zeigen an, dass der Preis aus der Preistabelle nachgeschlagen wurde, und neue Zeilen mit Preisen für Produkte wurden im Wesentlichen in die neue Tabelle eingefügt.
Wenn die Hash-Tabelle keine gute Möglichkeit ist, lassen Sie mich alternative Methoden kennen.
Ist Ihr gewünschter WANT-Datensatz nur eine Teilmenge des PREICES-Datensatzes? (Aufzeichnungen von PREISEN, wo DATUM eines der Daten in ALLEN ist?). Wie viele Datensätze in ALLEN und PREISEN? – Quentin
Für die Zwecke dieses Beispiels, ja. In Wirklichkeit hat jeder tatsächlich Tausende von Transaktionen pro Schlüssel, während die Preise Produkt, Datum und Preis auflisten. Deshalb dachte ich, dass Hash hier solide sein würde. – AidKulesh
Aber die Idee ist der Preis ist für alle Produkte jedes Datum erforderlich, solange mindestens ein Produkt für dieses Datum aufgeführt ist. – AidKulesh