Zellenwert festlegen, wenn Zeile ausgewählt istHallo,
Ich bin ein Neuling, der versucht, ein Skript zu schreiben, um einen Zellenwert auszufüllen, wenn seine Zeile ausgewählt ist.Der Anwendungsfall, den ich mir vorstelle, ist folgender: Während der explorativen Datenanalyse wähle ich einige Punkte in einem Diagramm aus, die ich als Ausreißer vermute.Ich habe ein anderes Skript, das mir hilft, die Rohdaten (nicht Teil der JMP-Tabelle) zu betrachten, und basierend auf der Betrachtung dieser Rohdaten entscheide ich, dass die Zeile, die diesem Datenpunkt entspricht, von meiner Analyse ausgeschlossen werden soll (dh die verwendeten Rohdaten diese bestimmte Zeile zu generieren, ist Müll).Ich kann einfach mit der rechten Maustaste klicken und "Ausschließen" auswählen.Jetzt betrachtet meine gesamte JMP-Analyse nur die guten Datenpunkte, was in Ordnung und gut ist.Nachdem ich diese Analyse abgeschlossen habe, möchte ich zurückgehen und eine Analyse der ausgeschlossenen Zeilen durchführen.Wenn beispielsweise jede Zeile Daten darstellt, die von verschiedenen Betreibern gesammelt wurden, produziert möglicherweise ein Betreiber eine Menge Junk-Daten.Ich kann natürlich eine Point-and-Click-Lösung verwenden, um alle ausgeschlossenen Zeilen auszuwählen und eine neue Teilmengen-Datentabelle zu erstellen, aber ich würde es vorziehen, eine neue Spalte hinzuzufügen (nennen wir sie FlagColumn) und alle ausgewählten Zeilen in FlagColumn auf " schlecht" und alle anderen Reihen auf "gut".Was mir vorschwebt ist sowas:
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);Aber das scheint nichts zu tun - ich glaube, ich verstehe nicht, wie man die Bedingung in der if-Anweisung richtig einrichtet.Außerdem habe ich noch nicht herausgefunden, wie ich die Anzahl der Zeilen in der Tabelle bekomme (also zu Testzwecken habe ich im Moment nur den Index i in der for-Schleife so gesetzt, dass er von 1 bis 5 läuft).Irgendwelche Vorschläge?Vielen Dank im Voraus!
DatentabelleSkripterstellungBetreff: Zellenwert setzen, wenn Zeile ausgewählt istWenn Sie nicht codieren und interaktiv bleiben möchten, können Sie Rows -> Row Selection -> Name Selection in Column verwenden. Dadurch wird eine Spalte erstellt, in der Sie einen Wert für die ausgewählten Zeilen und einen Wert (oder einen fehlenden) für die anderen haben. Ähnlich wie mit der oben erwähnten skriptgesteuerten Zeilenzustandsoption
Betreff: Zellenwert setzen, wenn Zeile ausgewählt ist@jdwatson ,
Hmmm, für mich kann das Validieren von Daten eine Aufgabe sein, die mehr als eine Bearbeitungssitzung in Anspruch nehmen kann.Vielleicht bin ich auch ungeschickt, aber für mich ist es so einfach, versehentlich die Auswahl aufzuheben.Hier ist ein alternativer Vorschlag, der begreift @Thierry_S Anregung:
- Wenn die zusammengefassten/berechneten Daten als schlechte Qualität eingestuft werden, klicken Sie mit der rechten Maustaste und schließen Sie sie aus
- Sobald die Validierung abgeschlossen ist, führen Sie die Standardanalysen durch
- Erstellen Sie eine neue Spalte, die ich Excluded State nenne.Machen Sie den Datentyp Zeilenstatus, es hat ein rotes Sternsymbol.Jetzt können Sie auf diesen Spaltennamen klicken und auswählen Aus Zeilenzuständen kopieren siehe Screenshot unten.

- Erstellen Sie dann eine Spalte namens Flag oder Excluded, machen Sie sie Numeric, Nominal. Machen Sie eine Formel Ausgeschlossen() und wählen Sie die Schaltfläche Anwenden, löschen Sie dann die Formel, drücken Sie OK . Jetzt haben Sie eine 1 in ausgeschlossenen Zeilen und 0 an anderer Stelle.
- Jetzt können Sie die Zeilenstatus löschen und diese Flag-Spalte wie geplant verwenden.Aber Sie haben den zusätzlichen Vorteil, dass Sie schnell auf die Spalte „Ausgeschlossener Status“ klicken und auswählen können In Zeilenstatus kopieren , wenn Sie weitere Analysen der Daten guter Qualität durchführen müssen.
Zeilenstatusspalten sind besonders hilfreich, wenn es verdächtige Daten oder Anfragen nach „Was wäre, wenn bla, bla, was entfernt wurde“-Analysen gibt.Sie können einen Zeilenstatus für die Standardausschlüsse und die Standard- und Extraausschlüsse beibehalten.Dies ist eine Form der Zeilenzustandsbehandlung, die weder interaktiv noch dynamisch ist, aber sehr nützlich sein kann.
Betreff: Zellenwert setzen, wenn Zeile ausgewählt istAh, ja, das sieht so aus, als würde es auch das Gleiche erreichen, was ich tun wollte, ohne Skripterstellung.Es scheint jedoch, dass der lokale Datenfilter keine Zeilenstatusspalten anzeigt.Gibt es eine Möglichkeit, ein Diagrammfenster so zu konfigurieren, dass es ausgeschlossene Zeilen enthält, und dann anhand des Zeilenstatus zu filtern?Oder jetzt, wo ich das sage, vielleicht ist meine eigentliche Frage, was der einfachste Weg ist, eine Grafik / Analyse von zu erhalten nur die ausgeschlossenen Zeilen, ohne separate Teilmengen-Datentabellen zu erstellen?
Betreff: Zellenwert setzen, wenn Zeile ausgewählt istIch glaube, ich habe meine eigene Frage beantwortet.Fügen Sie es unten hinzu, falls andere auf dieses Problem stoßen:
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);Betreff: Zellenwert setzen, wenn Zeile ausgewählt istEine Sache noch,
Haben Sie darüber nachgedacht, den FlagColumn-Datentyp in „Zeilenstatus“ zu ändern und ihn zum Erfassen des aktuellen Auswahlstatus zu verwenden (Rechtsklick auf die Spaltenüberschrift > Zeilenstatuszellen > Auswählen/Auswahl aufheben?
Am besten,
TSBetreff: Zellenwert setzen, wenn Zeile ausgewählt istHallo,
Erstens ist unklar, warum Sie "rows = dt << get selected rows" definieren und es nicht im nachfolgenden Skript verwenden würden.
Zweitens, haben Sie die viel einfachere Formel betrachtet: "Selected ()", die 1 zurückgibt, wenn ausgewählt, und 0, wenn nicht (dh setzen Sie die FlagColumn-Formel als: "Selected ()"). Beachten Sie, dass sie, wie alle Formeln, standardmäßig automatisch ausgewertet wird. Daher müssen Sie möglicherweise im Formeldialogfeld auf „Auswertungsstatus unterdrücken“ umschalten, um einen bestimmten Auswahlstatus beizubehalten. Wenn Sie den Auswahlstatus nur einmal erfassen müssen, können Sie außerdem die Formel hinzufügen, die Änderung anwenden und die Formel löschen, wodurch eine stabile Aufzeichnung darüber geführt wird, was beim Ausführen der Formel ausgewählt wurde.Betreff: Zellenwert setzen, wenn Zeile ausgewählt istSchauen Sie sich make rowstste Handler an