Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Ich versuche, zwei Tische zu verbinden. Ich verwende drei gemeinsame Quellspalten als Übereinstimmungen. Wenn ich die neue Ausgabetabelle erhalte, fehlen darin Daten. Ich habe vor dem Erstellen der neuen Tabelle „Spalten mit demselben Namen zusammenführen“ und „Nichtübereinstimmungen einbeziehen“ ausgewählt. Die drei Quellspalten scheinen genau mit den Zeilen übereinzustimmen, in denen Daten fehlen. Was würde dazu führen, dass ich beim Erstellen der neuen Tabelle Daten verliere? Ich schreibe keine Skripte und würde eine interaktive Erklärung zu den Menüpunkten und GUI-Fenstern bevorzugen.
Vielen Dank für alle Tipps.
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Vielen Dank an alle für die Hilfe!
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?RECODE ist hier dein Freund. Mit dem roten Dreiecksmenü können Sie Leerzeichen im Handumdrehen entfernen.
Cols > Recode oder Cols > Utilities > Recode, abhängig von Ihrer JMP-Version
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?das würde eindeutig ein Problem verursachenBetreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Die Spalte „Jahr“ ist eine Ganzzahl, kein Datum.
Bei der Untersuchung Ihrer Frage zu CASEID scheint es, dass es sich um einen Datentyp vom Typ „Character“ handelt. Ich sehe jetzt, dass die CASEID manchmal ein Leerzeichen vor der Nummer hat. Glauben Sie, dass das das Problem ist? Ich werde daran arbeiten, die Leerzeichen zu entfernen, um zu sehen, ob dadurch meine Verbindungsprobleme behoben werden. Vielen Dank für Ihre Hilfe!
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Ich möchte mich weiterhin auf die Werte konzentrieren. Handelt es sich bei Ihrer Jahresspalte um einen JMP-Datumswert, der so formatiert ist, dass er nur den Jahresanteil des Datums anzeigt, oder handelt es sich um eine Ganzzahl?
Was sind die Besonderheiten der CASEID-Spalte? Es wird als Zeichenspalte angezeigt. Ist das der Fall oder handelt es sich um eine numerische Spalte, die im Hex-Format angezeigt wird?
Wenn es sich um ein Zeichen handelt, kann die Zeichenfolge Leerzeichen oder nicht druckbare Zeichen enthalten, die möglicherweise die Nichtübereinstimmungen verursachen. Wenn Sie das Übereinstimmungsflag verwenden, können Sie dies ziemlich einfach überprüfen, indem Sie die Zeile mit dem Übereinstimmungsflag 1 finden und sie mit der Zeile aus der Zeile mit Übereinstimmungsflag 2 vergleichen, die damit hätte übereinstimmen sollen.
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?
Dies ist ein Screenshot des Join-Dialogs, den ich versucht habe. Für den früheren Screenshot habe ich YEAR, PSU und CASEID zur Ausgabe aus beiden Originaltabellen ausgewählt, indem ich sie für die „Ausgabespalten“ ausgewählt habe, die ich hier nicht gezeigt habe. Ich habe in der Vergangenheit auch eine Match-Flag-Ausgabe durchgeführt und es zeigt, dass in vielen Fällen die Daten nur aus einer Tabelle abgerufen werden (Flags 1 oder 2). Es bestätigt, dass keine Übereinstimmung vorliegt, aber ich weiß nicht, warum keine Übereinstimmung gefunden wird, obwohl sich die Daten in beiden Originaltabellen befinden.
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Danke für den Screenshot. Sehr hilfreich. Können Sie auch einen Screenshot des Dialogs oder den Text des Joined „Source“-Skripts hinzufügen? Möglicherweise liegt ein Problem mit der Match-Spezifikation vor.
Eine weitere Diagnose besteht darin, die Option „Match Flag“ zu aktivieren, um eine neue Spalte in der Ausgabe zu erstellen, die angibt, ob die Zeile aus einer Tabelle oder beiden stammt.
In Ihrem Bild sieht es so aus, als ob die erste Zeile der verbundenen Tabelle nur mit der Haupttabelle und nicht mit der Mit-Tabelle übereinstimmt, was dazu führt, dass den Feldern aus der Mit-Tabelle fehlende Werte zugewiesen werden.
Da die Spalten „PSU von ...“ vorhanden sind, scheint die Option „Spalten mit demselben Namen zusammenführen“ nicht aktiviert zu sein.
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?
Hier ist der Screenshot.
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Danke für die Idee, Jim. Ich habe für beide Tabellen „Nichtübereinstimmungen einbeziehen“ angegeben. Die Spalten, die ich zum Abgleichen der Tabellen verwende, enthalten keine Leerzeichen, die Daten in ihren Zeilen jedoch schon. Spielt das eine Rolle? Als ich mir ansah, welche Zeilen vollständige Daten enthielten und welche fehlende Daten enthielten, habe ich darüber nachgedacht, dass ich anhand der Leerzeichen keine Logik erkennen kann.
Hier finden Sie weitere Informationen zu meinem Problem. Ich habe einen Screenshot beigefügt, der drei Tabellen zeigt. Oben befindet sich die Haupttabelle, als nächstes die Mit-Tabelle und schließlich die Ausgabetabelle. Die oberste Zeile jeder Tabelle ist für Fall 2001-2-14F (YEAR-PSU-CASEID, die ich verwende, um meine Übereinstimmung zwischen Tabellen zuzuweisen). Dieser Fall ist in der Haupt- und der With-Tabelle vorhanden, wird jedoch nicht mit der Ausgabetabelle abgeglichen und lässt die Spalte „EVENTS“ leer. Irgendwelche Gedanken dazu, warum das nicht so funktioniert, wie ich es erwartet habe?
Danke schön!
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Ich bekomme diese und andere Fragen zur Tabellenmanipulation häufig von meinen Benutzern. So sehr, dass ich meiner internen JMP-Sharepoint-Site eine Anleitungsseite dazu hinzugefügt habe. Hier sind einige hilfreiche Videos/Links:
Spalten teilen
Tische zusammenfügen
Blogbeitrag zum Thema Stapeln
Stapelsäulen
Eines habe ich gelernt: Wenn das Dialogfeld ein Kontrollkästchen für „Dialog geöffnet lassen“ hat, aktivieren Sie es – wahrscheinlich machen Sie es beim ersten Mal falsch ...
Betreff: Wie verbinde ich zwei Datentabellen, ohne Daten zu verlieren?Geben Sie „Nichtübereinstimmungen einbeziehen“ sowohl für die Haupttabelle als auch für die Mit-Tabelle an?
Außerdem kann es manchmal zu Problemen mit den übereinstimmenden Spalten kommen, wenn die Daten vorhergehende Leerzeichen enthalten.