Zwei in lokalen Ordner gespeicherte JMP-Tabellen nach Kriterien zusammenfügen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich bin relativ neu bei JMP und erforsche immer noch ..
Ich habe zwei jmp-Dateien in meinem lokalen Ordner, die die Krankenhaus-Patienten-ID und die Informationen zum Besuchsdatum in Spalten enthalten. Eine jmp-Datei enthält ambulante Besuchsdaten und eine weitere Datei für stationäre Besuchsdaten, beide für einen Zeitraum von 2010 bis 2015.
Ich möchte die beiden jmp-Dateien vergleichen und verbinden, so dass mir der Join eine Untergruppe von Patienten zur Verfügung stellt, deren ambulanter Besuchstermin weniger als 14 Tage ab dem stationären Besuchstermin beträgt (Kriterien).
Ich verwende JMP 12.0 und das Menü "Join" unter "Tabellen" erlaubt mir nicht, die Kriterien zwischen den Spalten in den beiden Tabellen zu erstellen.
Wie gehe ich vor? Muss ich eine SQL schreiben? Wenn ja, was und wo sollte ich die SQL schreiben, die die beiden jmp-Tabellen vergleichen und sie verbinden kann, um die Antwort abzuleiten?
Danke für jede Hilfe.
Grüße,
Vinod
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Hi Ian,
Ich fand heraus, dass ich zwei Spalten in meiner stationären Tabelle hatte, die wahrscheinlich entweder die gesamte Skriptverarbeitung verzögerten oder einfach nicht weiterarbeiten konnten. Einer war das Alter, wie man es in meinem früheren Bild sehen kann, als es bei jeder Verarbeitungsinstanz "Bewertung des Alters" zeigte und in eine Drehbewegung geriet. Nun sind Age und die andere Spalte Formelspalten und als ich die Werte hartcodiert und die Formel entfernt habe, war das Problem behoben. Warum?
Jetzt konnte das Skript ausgeführt und eine in 120 Stunden eindeutige PID-Tabelle in 3 Stunden geöffnet werden. Dies ist bei einem 64-Bit-RAM-Prozessor mit 8 GB RAM i7, auf dem nur die standardmäßigen Windows-basierten Desktop-Prozesse ausgeführt werden, und das Skript war der einzige schwere Loader.
Danke & Grüße
Vinod Subramanian
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Ja, ich verstehe, dass dies wahrscheinlich ein Leistungsproblem ist, das mit Ressourcen zusammenhängt und außerhalb des Geltungsbereichs liegt. Sie können in diesem Fall ignorieren und diesen Thread schließen.
Vielen Dank, dass Sie an einem funktionierenden Skript mitwirken. Wäre gut gewesen, wenn ich es für den gesamten großen Datensatz zu einem erfolgreichen Ergebnis führen könnte. Wählt aber einen Kompromiss aus, indem das Skript in Stapel von Daten ausgeführt wird, wenn nichts anderes funktioniert.
Nur auf einer FYI, da Sie gefragt haben .. Die eindeutige Patienten-ID beträgt etwa 500.000.
Jedes Mal, wenn ich das Skript für die großen Datentabellen ausführen, werden sie geöffnet und dann wird "Evaluating Age" (im unteren Bereich des Browser-Fensters) angezeigt Die Verarbeitung läuft, aber der Status "Alter auswerten" ändert sich nie. Ich habe zwar eine Age-Spalte in den Tabellen, aber warum hört sie dort auf, schlägt mich? Gestern habe ich das Skript 20 Stunden lang laufen gelassen und dann getötet.

Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Am Anfang des Threads habe ich gesagt "solange Sie keine Ressourcen haben". . .
Ich denke, Millionen von Reihen sind ehrgeizig. Wie ich auch erwähnte, ist der von mir geschriebene Code in keiner Weise "bester". Obwohl es möglicherweise weiter optimiert wird, bin ich immer noch nicht sicher, ob die von Ihnen erwähnten Datengrößen praktikabel sind. Dies ist nicht wirklich ein Kommentar zu JMP per se, sondern mehr darüber, was für eine Desktop-Software sinnvoll ist.
Vielleicht kann ich etwas tiefer graben, aber um zu helfen, wäre es gut zu wissen, wie viele verschiedene Patienten-IDs in den beiden großen Tabellen sind, die Sie erwähnen. Von der Art, wie ich den Code geschrieben habe, weiß ich, dass dies einer der Faktoren ist, die den erfolgreichen Abschluss bestimmen.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Hallo Ian Ich habe das Skript an einem kleineren Datensatz ungefähr 100 Datensätze pro Tabelle bearbeitet und die Ausgabe ist wie erwartet. Vielen Dank. Ich habe die richtige Antwort in der Kette oben markiert.
Die Herausforderung, der ich jetzt gegenüberstehe, besteht darin, das Skript auf den größeren Datensätzen (2 Millionen Datensätze) auszuführen, die ich habe.
Könnten Sie mir auch beim Drehbuch für Szenario 2 helfen, das ich zuvor artikuliert habe? Vielen Dank. Wenn Sie möchten, dass ich dies als weitere Abfrage protokolliere, kann ich dies tun.
Vielen Dank für das Helfen.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Hallo Ian, guten Morgen.
Ich fing an, das Skript über die Dateien auszuführen, die ich habe. Die Tische sind riesig .. Etwa 2 Millionen Zeilen ambulant und eine Million stationär. Das Skript lief weiter ... Ich ließ es 12 Stunden laufen und tötete es vor ein paar Minuten.
Ich werde es zuerst auf einem kleineren Datensatz ausführen und sehen, wie es reagiert.
Können Sie ein anderes Problem im Skript feststellen? Ich habe einige Ihrer Codes entfernt, die Tabellen geändert und die in den Tabellen vorhandenen Spaltennamen umbenannt.
Grüße,
Vinod
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?OK. Hört sich so an, als wären Sie nah dran. Es kann andere Probleme geben, aber in Ihrem Code sollten die Zeilen 2 und 3 folgende sein:
dti = Datentabelle ( "ANE_2010-2015" ) ;
dto = Datentabelle ( "Konsolidierter SOC-2011-2015" ) ;
da dies der Weg ist, auf eine Tabelle in JSL zu verweisen.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Guten Morgen und vielen Dank, Ian. Ich habe die JSL-Datei ausgeführt und die Ausgabe funktioniert richtig ..
Ich habe versucht, die jsl zu modifizieren, um sie auf die beiden jmp-Tabellen anzuwenden, die ich hatte. Ich mache anscheinend etwas falsch im Skript, da beim Ausführen des Skripts weder etwas passiert noch bekomme ich eine Fehlermeldung. Ich füge die bearbeitete JSL-Datei für Ihre Überprüfung und Anleitung hinzu.
Das obige Skript funktioniert für Szenario1, für Szenario 2 dass ich zuvor umrissen habe, wo die stationären und ambulanten jmp-Tabellen zu einer integrierten jmp-Tabelle verkettet sind. Wie sollte sich das Skript ändern? Um zu unterscheiden, welche Datenzeilen stationär und welche ambulant sind, ließ ich eine Spalte mit dem Flag "OP" und "IP" gegen jede Datenzeile einführen. Die Patienten-ID und die Besuchsdaten sowohl für stationäre als auch für ambulante Tabellen wurden in einer Spalte für Patienten-ID und Besuchsdatum in der integrierten jmp-Tabelle verkettet.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Um Ihnen zu helfen, es ein bisschen leichter zu sehen, habe ich Code geschrieben, um die oben beschriebene Logik zu implementieren. Speichern Sie den Anhang, öffnen Sie ihn in JMP und führen Sie "Bearbeiten> Skript ausführen" aus. Sie erstellt (zufällig) die Tabellen "stationär" und "ambulant" (Beispiele hierfür sind oben beigefügt), fügt dann aber "ambulant" Spalten hinzu. Machen Sie sich keine Sorgen über den Code, schauen Sie sich einfach die beiden Tabellen an und sehen Sie, ob Sie danach suchen.
(Übrigens, ich behaupte nicht, dass der Code in jeder Hinsicht "bester" ist, nicht zuletzt weil der Thread zeigt, dass ich nicht sicher bin, ob ich die Anforderungen klar habe).
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Vielen Dank Ian . Nach dem, was Sie geschrieben haben, glaube ich, dass Sie es richtig verstanden haben ... Geben Sie mir 24 Stunden Zeit, um auf Sie zurückzugreifen, nachdem Sie die Dateien versucht haben, die Sie mir geschickt haben.
Zu Ihrer Information aus geschäftlicher Sicht versuche ich Fälle von Patienten zu finden, die innerhalb von 14 Tagen nach ihrem stationären Besuch zu einem ambulanten Besuch kamen. In der Zukunft muss ich lediglich die Anzahl der Tage (Lücke) anpassen, um die erforderliche Ergebnismenge basierend auf der Geschäftsnachfrage zu erhalten.
Eine Ihrer Aussagen "Ich habe das Gefühl, dass Sie nicht mehrere Übereinstimmungen erwarten, daher bin ich mir nicht sicher, ob Sie diese Möglichkeit zulassen möchten.",
Jeder ambulante oder stationäre Besuch ist ein separater Fall und eine separate Zeile in den Tabellen .... Es ist möglich, dass ein Patient zwei ambulante Termine am selben Tag haben kann, mit gleichen oder unterschiedlichen Besonderheiten. Wenn Sie das mit mehreren Übereinstimmungen gemeint haben, ist es möglich, wenn Sie jeden stationären Besuchstermin des Patienten durchlaufen haben.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?OK. Ich habe einige Daten zusammengestellt, die meiner Meinung nach denen ähneln, die Sie zur Hand haben müssen. Speichern Sie die Anhänge, öffnen Sie die Tabellen und führen Sie das gespeicherte Skript in jeder Datei aus.
Um mein Verständnis zu überprüfen, möchten Sie die Zeilen in 'Outpatient' wie folgt durchlaufen:
1 /. Die erste Zeile lautet 'ID = 1' und 'Out Date = 20Jan2014 01:28:05 '.
2 /. Suchen Sie nach einer oder mehreren Zeilen in "stationär", in denen "ID = 1" und "In Date" nicht mehr als 14 Tage vor 20Jan2014 01:28:05 liegen. Ich habe das Gefühl, dass Sie nicht mehrere Übereinstimmungen erwarten, daher bin ich mir nicht sicher, ob Sie diese Möglichkeit zulassen möchten. Wenn es jedoch eine Übereinstimmung gibt, möchten Sie eine neue Spalte zu 'Outpatient' hinzufügen, die den Wert 'In Date' in der aktuellen Zeile (in diesem Fall Zeile 1) enthält.
3/. In die nächste Zeile wechseln in ' Ambulant 'und wiederholen Sie bis zum Ende der Tabelle.
Ist das bitte richtig?
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind? Hi Ian .
Ich hatte vorher nicht über meinen nicht-codierenden Hintergrund gesprochen, also verstehe ich Sie, als Sie mir die Antwort geschickt haben. Vielen Dank.
Ich habe versucht, wie du gesagt hast .. Hier sind die Ausgänge, die ich bekomme

Eine Beobachtung, die ich auf den Tischen habe
- Jeder Patient in der In- und Out-Tabelle hat nur einen Besuchszeitstempel und
- Alle Patienten sind in beiden Tabellen aufgeführt (rein und raus)
Wie in den Szenario-Details, die ich zusätzlich zu Ihrer ersten Antwort hinzugefügt habe ... und versucht, unten zu artikulieren ...
ein. Sie werden anhand der Szenariotabelle und der Datenstruktur feststellen, die jeder Patient hat Mehrere Besuche in Tabelle 1 (ambulant) und derselbe Patient können mehrere Besuche oder nicht einmal ein Besuch in Tabelle 2 (stationär) haben.
b. Die Notwendigkeit, dass jedes der stationären Besuchstermine eines Patienten unter den ambulanten Besuchsterminen für diesen Patienten liegen muss (Beachten Sie, dass jeder stationäre Besuchstermin eines Patienten mit jedem ambulanten Besuchstermin desselben Patienten verglichen werden muss.
c. Wenden Sie für die ambulanten Zeilen, die die Kriterien b erfüllen, die folgenden Kriterien an Der stationäre Besuchstermin ist <= 14 Tage des ambulanten Besuchstermin desselben Patienten (kann irrtümlich früher das Gegenteil gesagt haben. Es tut uns leid)
d. Immer wenn das Kriterium c erfüllt ist, wird die Zeile Ambulante Tabelle gegen diesen Patienten müssen als 1 (Ja) gekennzeichnet werden
e. In der muss eine neue Spalte angefügt werden Ambulante Tabelle nach dem Kriterium erfüllt Flag Spalte zum Erfassen des Datums des stationären Besuchs (gegen das das Kriterium erfüllt wurde)
f. Wenn es keine ambulante Zeile gibt, die die Kriterien für das stationäre Besuchsdatum b und c erfüllt, markieren Sie das Kennzeichen 0 in der Tabelle "Ambulant".
Hoffe ich bin ausreichend klar.
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Es tut uns leid. Wir verwenden Code häufig als schnelle Antwort auf Fragen. Um es jedoch klar zu sagen, Sie müssen es nicht unbedingt verwenden, um mit JMP zu arbeiten.
Um zu sehen, ob ich auf der richtigen Spur bin, wählen Sie bitte den obigen Code aus und kopieren Sie ihn (in Ihre Zwischenablage). Dann mach 'New> New Script' und füge es in das resultierende Fenster ein. Dann mach 'Bearbeiten> Skript ausführen'. Nach einer kurzen Verzögerung sollten drei Tabellen erstellt werden, die als "In", "Out" und "In und Out Dates" bezeichnet werden. Sie können die dritte Option erhalten, indem Sie bei den ersten beiden Tabellen ("Tabellen"> "Verbinden") verwenden und die Spalten durch übereinstimmende Spalten verbinden. Wenn Sie weitere Hilfe benötigen, lesen Sie: http://www.jmp.com/support/help/Join_Data_Tables.shtml . Doppelklicken Sie in der dritten Tabelle auf die Spaltenüberschrift "Criterion Met?". Dies ist eine JMP-Formelspalte (mit einer definierten 'Value Order'-Eigenschaft): http://www.jmp.com/support/help/Create_a_Formula_Column.shtml .
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Hallo Ian Zunächst möchte ich mich bei Ihnen für Ihre Antwort bedanken und Ihre Hilfe erweitert haben.
Als Neuling in JMP und auch als Nicht-Kodierer, eher als Geschäftsmann, brauche ich ein bisschen mehr Laien und schrittweise Anleitung. Ich möchte mit dem interaktiven Ansatz gehen, da er am bequemsten ist und eine schnellere Auflösung ermöglicht.
Zuvor möchte ich Ihnen jedoch eine detaillierte Klarheit meines Bedarfs geben ... Ich habe zu diesem Zweck in den beiden Tabellen eine Dummy-Momentaufnahme der Daten dargestellt und zwei Szenarien aufgeführt. Es tut mir leid für diese langwierige Antwort, aber ich denke, es ist notwendig, um die richtige Anleitung geben zu können. Nochmals vielen Dank für Ihre Geduld und Zeit.
1 Szenario 1
Ambulante JMP-Tabelle 1: (nur relevante Spalten werden angezeigt)
Jahr Patient ID Besuchsdatum ..... ........ ...... ........
2010 1 20.03.2010
2010 1 15.05.2010
2011 1 19.01.2011
2011 1 08/04/2011
.
.
2010 2 18.06.2010
2010 2 07/12/2010
2010 2 01.08.2010
.
.
und so weiter für n Patienten .. Es kann einen Patienten mit nur einem ambulanten Besuch in 5 Jahren geben.
Stationäre JMP-Tabelle 2: (nur relevante Spalten)
Jahr Patient ID Besuchsdatum ..... ........ ...... ........
2010 1 01.08.2010
2010 1 06/10/2010
2010 1 19.10.2010
2011 1 15.07.2011
.
.
2010 3 12.04.2010
2010 3 20.09.2010
2010 3 12/10/2010
.
und so weiter für n Patienten. Es kann einen Patienten mit nur einem stationären Besuch in 5 Jahren geben. In dieser Tabelle sind keine Daten für Patient 2 enthalten ...
Was ich brauche, ist die Tabelle und Datenstruktur für jeder Patient im ambulante Tabelle, möchte das vergleichen ambulante Besuchstermine und stationäre Besuchstermine für diesen Patienten und erstellen Sie eine Subset-Tabelle, die die betroffene ambulante Zeile aufzeichnet (alle ambulanten Tabellenspalten für diese identifizierte Zeile) wann immer die folgenden Kriterien erfüllt werden: Der ambulante Besuchstermin ist <= 14 Tage ab dem stationären Besuchstermin (Hinweis: Das Datum für den stationären Besuch sollte vor dem Datum für den ambulanten Besuch liegen, bevor die Kriterien geprüft werden.) . Diese ambulante Zeile sollte auch die Spalte für das stationäre Besuchsdatum in der so erstellten Subset-Tabelle enthalten.
2 Szenario 2.
Ich habe auch eine verkettete Tabelle, die durch Verketten der obigen stationären und ambulanten Tabelle und Daten erstellt wurde. In diesem concat Tisch Ich habe eine Spalte eingeführt, um zu identifizieren, welche Zeile der Patientendaten stationär und welche ambulant war, und die gleichen Spaltennamen beibehalten. Wie würde in einem solchen Szenario die Formel in Szenario 1 geändert, um die Subset-Tabelle zu generieren?
3. Für die in Szenario 1 und 2 erstellten Formeln Wo sollte ich in JMP die Formel anwenden / ausführen, um die Subset-Tabelle zu erhalten?
Betreff: Zusammenfügen von zwei JMP-Tabellen, die basierend auf Kriterien im lokalen Ordner gespeichert sind?Da es sich bei Ihrem Ausgangspunkt um zwei JMP-Tabellen handelt, können Sie den Join und die Anwendung Ihres Kriteriums in JMP genauso gut durchführen, wie Sie keine Ressourcen haben. Siehe den Code unten, aber beachten Sie die Reihenfolge der Argumente in der Funktion 'DateDifference ()'! Wenn Sie interaktiv arbeiten möchten, schauen Sie sich einfach die Formel unter "Kriterium erfüllt?" An. Spalte und bauen Sie die analoge für Ihren Fall.
NamesDefaultToHere ( 1 ) ;
// Machen Sie einige simulierte Datumsdaten
Nr = 100 ;
dt1 = NewTable ( "Im" .
NewColumn ( "ICH WÜRDE" . Numerisch . Nominal . Werte (( 1 :: Nr ) ` )) .
NewColumn ( "In Date" . Numerisch . Kontinuierlich .
Formel ( RandomInteger ( DateDMY ( 1 . 1 . 2014 ) . DateDMY ( 31 . 12 . 2014 ))) .
Format ( "ddMonyyyy h: m: s" . 22 . 0 ) .
Eingabeformat ( "ddMonyyyy h: m: s" . 0 ) .
)
) ;
inVals = Säule ( dt1 . "In Date" ) << getValues ;
dayDelay = J ( Nr . 1 . Runden ( RandomNormal ( 14 . 7 ) . 0 )) ;
dayDelay [ Loc ( dayDelay <= 0 )] = 0 ;
OutVals = inVals + In Tagen ( dayDelay ) ;
dt2 = NewTable ( "Aus" .
NewColumn ( "ICH WÜRDE" . Numerisch . Nominal . Werte (( 1 :: Nr ) ` )) .
NewColumn ( "Out Date" . Numerisch . Kontinuierlich .
Werte ( OutVals ) .
Format ( "ddMonyyyy h: m: s" . 22 . 0 ) .
Eingabeformat ( "ddMonyyyy h: m: s" . 0 ) .
)
) ;
// Join dt1 und dt2
Warten ( 3 ) ;
dt3 = dt2 << Beitreten (
Mit ( dt1 ) .
Wählen Sie mit ( : ICH WÜRDE . : In Datum ) .
Wählen ( : Aus Datum ) .
Durch das Übereinstimmen von Spalten ( : ICH WÜRDE = : ICH WÜRDE ) .
Mehrfache fallen lassen ( 0 . 0 ) .
Nichtübereinstimmungen einschließen ( 0 . 0 ) .
Haupttabellenreihenfolge beibehalten ( 1 ) .
Ausgabetabelle ( "In- und Out-Termine" )
) ;
// Fügen Sie eine Spalte hinzu, um anzugeben, ob die Krönung erfüllt ist
dt3 << Neue Spalte ( "Kriterium erfüllt?" .
Numerisch .
"Nominal" .
Format ( "Beste" . 12 ) .
Formel ( Ob ( DateDifference ( : In Datum . : Aus Datum . "Tag" ) <= 14 . 1 . 0 ) ) .
Wertetiketten ( { 0 = "Nein" . 1 = "Ja" } ) .
Set Selected
) ;