Erhalten Sie eindeutige Spaltenwerte und verwenden Sie diese zum Filtern/Bereinigen in einer anderen TabelleHallo, was wäre der Ansatz, um beispielsweise die Schlüssel in einem Array zum Auswählen oder Filtern von Zeilen mit denselben Schlüsseln, aber in einer anderen JMP-Tabelle zu verwenden? Ich habe zwei Tische. Einer von ihnen ordnet Proben-IDs für chemische Tests verschiedenen Faktoreinstellungen (Temperatur, Zeit, Studiennummer usw.) zu. Ich erhalte die Beispiel-IDs erfolgreich in einem Array. (Tut mir leid, ich bin ein absoluter Neuling in diesem Bereich.)
smplID = Associative array(:sampleid) << Get Keys;
Jetzt möchte ich diese Tasten verwenden, um Zeilen in der zweiten Tabelle (in der sich meine Antworten befinden) auszuwählen, die Zeilenauswahl umzukehren und die Zeilen zu löschen. Dieser Hinweis hat mich bisher nicht weitergebracht. Vielleicht die Lösung unten,wie hier beschrieben,ist für den Anfang besser geeignet?
Summarize(dt, smpleID = by(:sampleid));
Oder ist dieser Ansatz vielleicht vorzuziehen?
dt << Summary (Group ( :sampleid ), Frequ( "None" ), Weight( "None" );
Wie auch immer, was ich wirklich wissen möchte, ist, wie ich einen dieser Ansätze verwenden kann, um eine Datentabelle effektiv von Zeilen zu bereinigen, die ich nicht benötige, bevor ich mit der Datenanalyse fortfahre. Ich schätze, ich muss lernen, wie man einen Loop macht.
Ja, ich versuche, wann immer möglich, den Scripting Guide durchzulesen. Ich schaffe es einfach nicht, Prioritäten zu setzen.
MassenanpassungBetreff: Eindeutige Spaltenwerte abrufen und zum Filtern/Aufräumen in einer anderen Tabelle verwendenDas ist es. Ich muss bei den Tabellenmanipulationen sehr vorsichtig sein. Sonst verliere ich möglicherweise einige Wiederholungsmessungen. Daher versuche ich, die Tabellen vorab zu bereinigen, da dies der Übersichtlichkeit dient.
Betreff: Eindeutige Spaltenwerte abrufen und zum Filtern/Aufräumen in einer anderen Tabelle verwendenDiese Methoden sind für diese Anzahl an Zeilen schnell!
Mir ist noch eine weitere Lösung in den Sinn gekommen: Sie können zunächst eine Zusammenfassungstabelle erstellen und diese dann mit der Tabelle verknüpfen, aus der Sie die gefundenen Werte entfernen möchten.
Am Beispiel der JMP-Beispieldaten Cars.jmp und Cars 1993.jmp. Autos 1993 werden eine der Daten sein, nach denen wir Autos mithilfe der Modellspalte filtern.
1. Erstellen Sie eine Zusammenfassungstabelle aus Cars 1993 mit Modell als Gruppe
2. Verbinden Sie diese neue Übersichtstabelle mit den folgenden Einstellungen mit der Tabelle „Autos“:

3. In der neuen Spalte „Match Flag“ sehen Sie zwei Werte: „Both“ und „Main“. Beides bedeutet, dass das Modell aus beiden Datensätzen gefunden werden kann
Ich denke, Sie können dies direkt mit Cars 1993 tun, aber Sie müssen mit Duplikaten vorsichtig sein (das Löschen von Vielfachen mit Tabelle könnte das lösen, ich bin mir nicht sicher). Auch in diesem Fall möchten Sie Spalten auswählen, die Sie behalten möchten, da es Duplikate geben wird (zumindest in diesem Beispiel).

Beide können auch recht einfach per Skript erstellt werden, da JMP den Großteil der Skripterstellung übernehmen kann.
Betreff: Eindeutige Spaltenwerte abrufen und zum Filtern/Aufräumen in einer anderen Tabelle verwendenVielen Dank, das hat mir SEHR geholfen! Ich bin mir nicht sicher, was „viele Daten“ wirklich bedeutet. Die erste Tabelle, die ich heute öffne, enthält etwa 400 Zeilen, aber diese Zahl wird mit der laufenden Implementierung eines Laborinformationsmanagementsystems (LIMS) in unserer Organisation zwangsläufig wachsen. Ich gehe davon aus, dass es mit der Zeit Tausende, vielleicht sogar Zehntausende Zeilen geben wird. Die zweite Tabelle, in der ich alle für mich irrelevanten Proben-IDs „bereinige“, hat bereits etwa 50.000 Zeilen.
Nachdem ich Ihre Lösung implementiert habe, arbeite ich jetzt mit einer Reihe von Beispiel-IDs. (Obwohl ich das Gefühl habe, dass meine Fähigkeiten äußerst begrenzt sind, fühlt sich das Schreiben von Skripten immer noch äußerst wertvoll und befriedigend an, wenn es darum geht, eine Lösung zu finden, selbst wenn sie aus der Community „entrissen“ wird. Also nochmals vielen Dank.)
Betreff: Eindeutige Spaltenwerte abrufen und zum Filtern/Aufräumen in einer anderen Tabelle verwendenUm eindeutige Werte zu erhalten, handelt es sich bei all diesen Methoden um gültige Methoden. Ihre Geschwindigkeit hängt von der Datenmenge ab, über die Sie verfügen. Beachten Sie Folgendes: Wenn Sie eindeutige numerische Werte verwenden möchten und Summarize verwenden, müssen Sie diese wieder in numerische Werte konvertieren (Summarize gibt sie als Zeichenfolgen zurück).
Einige verschiedene Möglichkeiten, eindeutige Werte zu erhalten:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
aa_uniq = Associative Array(dt:age) << get keys;
Summarize(dt, summarize_uniq = by(:age));
dt_summary = dt << Summary(Group(:age), Freq("None"), Weight("None"), private);
summary_uniq = Column(dt_summary, 1) << get as matrix;
Close(dt_summary, no save);
Show(aa_uniq, summarize_uniq, summary_uniq);Um Werte aus einer Datentabelle auszuwählen, können Sie „Contains“ mit „select where“ verwenden. Es besteht möglicherweise keine Notwendigkeit, die Zeilenauswahl umzukehren, da Sie ! (oder Not()), um das von Funktionen erhaltene Ergebnis zu negieren. Die Wartezeiten dienen nur der Demonstration:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
names_of_interest = {"KATIE", "LILLIE", "JOHN"};
wait(2);
dt << Select Where(Contains(names_of_interest, :name)) << Invert Row Selection << Hide and Exclude(1);// << clear select;
//Remove selections
wait(2);
dt << Clear Row States;
wait(2);
dt << Select Where(!Contains(names_of_interest, :name)) << Hide and Exclude(1);// << clear select;Auch wenn Sie viele Daten haben, ist dies möglicherweise nicht die effizienteste Methode, aber höchstwahrscheinlich die einfachste, und ich würde damit beginnen.