Duplikat löschenHallo zusammen,
Ich versuche meine Datentabelle zu sortieren. Sie enthält doppelte Werte:

Wie Sie sehen, habe ich in CHART_PARAMETER denselben Wert für unterschiedliche Namen. Mein Interesse besteht darin, nur Zeilen zu verwenden, die für jeden Wert einen Typ von CHART_PARAMETER haben. Ich habe versucht, Daten zu filtern, aber es öffnet sich ein JMP-Fenster mit Optionen zur Auswahl. Ich versuche, alle Berechnungen durchzuführen, damit der Benutzer sie nicht sieht, und eine neue Datentabelle mit ausgewählten Zeilen zu erstellen und diese Daten weiter zu bearbeiten.
Danke.
Betreff: Duplikat löschenSchauen Sie im Scripting-Index nach
Hilfe==>Skriptindex==>Funktionen==>Verzögerung
Schauen Sie auch im Buch „Using JMP“ nach
Hilfe==>Bücher==JMP verwenden
Verzögerung
Gibt den Wert des ersten Arguments in der durch die aktuelle Zeile definierten Zeile abzüglich des zweiten Arguments zurück. Die Standardverzögerung ist eins, die Sie in eine beliebige Zahl ändern können. Der zurückgegebene Wert für jede Verzögerung, die angibt, dass eine Zeilennummer kleiner als eins fehlt. Beachten Sie, dass Lag(X, n) das gleiche Ergebnis liefert wie die tiefgestellte Notation XRow( )–n.
Betreff: Duplikat löschenKönnen Sie mir bitte Informationen zur Lag-Funktion senden, falls vorhanden? Ich habe einige Beispiele begründet, aber nicht so, wie Sie es verwendet haben.
Vielen Dank für Ihre Hilfe!Betreff: Duplikat löschenDas ist mein Fehler.In meiner Eile habe ich die falsche Stelle für das nachgestellte „num“ angegeben.Hier ist ein kleines Skript, das Ihre Entitätsspalte erstellt und dann die neue Spalte mit dem Zähler darin hinzufügt.
Names Default To Here( 1 );
dt = New Table( "count",
Add Rows( 34 ),
New Column( "Entity",
Character,
"Nominal",
Set Values(
{"RLC101", "RLC101", "RLC101", "RLC101", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102",
"RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC102", "RLC103", "RLC103", "RLC103",
"RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC103", "RLC104",
"RLC104", "RLC104", "RLC104", "RLC104", "RLC101"}
)
)
);
dt << New Column( "Number",
numeric,
formula( If( Lag( :ENTITY ) != :ENTITY, num = 1, num = num + 1 );
num;
));Betreff: Duplikat löschenHallo,
Ich habe immer noch nur einen Wert „1“ für jede ENTITY.
MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
//MP:LOT_DATA_COLLECT_DATE << Format("m/d/y")<<Data Type("Character")<<Modeling Type("Nominal") ;
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);
num ; Kann ich es anders verwenden? Was kann ich falsch machen? Das Datum sollte ein bestimmtes Format haben?
Die Verzögerungsfunktion vergleicht EREIGNIS mit EREIGNIS aus der vorherigen Zeile. Wie sieht es nun aus, dass der zu vergleichende Wert die Datumsspalte ist?
Danke.
Betreff: Duplikat löschenDie Formel wurde nicht korrekt kopiert.Sie haben das abschließende „num“ in der Formel weggelassen.Bei der Funktionsweise von Formeln ist der zuletzt ausgedrückte Wert der Wert, der an jmp zurückgegeben wird.Wenn Sie daher „num“ als letztes Element in der Formel angeben, wird diese zurückgegeben
MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);
num;
Betreff: Duplikat löschenJim Hallo,
Ich habe Ihr Skript ausprobiert
Bitte sehen Sie:
Tabelle nach Codeausführung.
Num hat keine richtigen Zahlen erhalten.

MP = AR << Sort(
by(ENTITY,LOT_DATA_COLLECT_DATE),Order(Ascending,Descending)
);
MP << New Column("num",
Character,
Formula(
If( Lag(:ENTITY) != :ENTITY,
num = 1,
num = num + 1
)
)
);Danke.
Betreff: Duplikat löschenIch denke, die Lösung ist einfacher als Sie denken.
- Sortieren Sie die Daten nach aufsteigender Entität und absteigendem Datum
- Erstellen Sie eine neue Spalte mit der folgenden Formel, die einen einfachen Zähler innerhalb jeder Entität darstellt
If( Lag( :Entity ) != :Entity,
num = 1,
num = num + 1
);
num;
Schließlich können Sie auswählen, wo Ihre neue Spalte einen Wert von <= 3 hat
Betreff: Duplikat löschenHallo,
Vielen Dank für eine schnelle Antwort.
Jetzt versuche ich, für jede Entität die letzten 3 Punkte nach Datum auszuwählen. Ich kann die Tabelle nach Entität gruppieren, aber danach muss ich die letzten 3 Punkte nach Datumsbereich finden. Wie kann ich das mit „select where“ oder einer anderen Funktion machen?
RCL sind meine Entity- und Entiry_1-Namen, und ich muss für jede Spalte die letzten drei Werte nach Datum auswählen. Zum Beispiel:
RCL101 3 letzte Werte nach Datum in Chart_Value und Chart_Value_1.
Werde jede Hilfe gebrauchen 
Danke.
Meine Datentabelle:
LOT_DATA_COLLECT_DATE CHART_TYPE MODULE CHART_VALUE ENTITY MEASUREMENT_SET_NAME MONITOR_SET_NAME ENTITY_1 LOT_DATA_COLLECT_DATE_1 CHART_VALUE_1 MONITOR_SET_NAME_1 CHART_TYPE_1
2017/01/20 2:46:43 PM X-BAR RCL FE 8234.73 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/20 8:25:35 PM X-BAR RCL FE 8734.13 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 4:40:38 AM X-BAR RCL FE 8743.67 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 3:51:54 PM X-BAR RCL FE 8539.85 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/25 10:39:43 AM X-BAR RCL FE 9179.86 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/28 9:03:46 PM X-BAR RCL FE 8097.51 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/31 10:26:57 PM X-BAR RCL FE 7979.97 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/07 6:53:08 PM X-BAR RCL FE 7992.35 RCL104 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/22 8:40:50 AM X-BAR RCL FE 7672.35 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/27 7:54:09 AM X-BAR RCL FE 8319.25 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/02 3:11:43 AM X-BAR RCL FE 7506.47 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/06 10:42:00 PM X-BAR RCL FE 8046.7 RCL103 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/18 12:47:10 AM X-BAR RCL FE 81.0555 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/20 12:35:05 PM X-BAR RCL FE 9159.32 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/28 1:58:47 AM X-BAR RCL FE 9278.75 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/03 4:38:46 AM X-BAR RCL FE 9288.21 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/07 4:24:21 AM X-BAR RCL FE 8677.35 RCL102 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/21 7:22:14 AM X-BAR RCL FE 9969.63 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/24 1:10:21 PM X-BAR RCL FE 9291.7 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/01/31 1:16:24 AM X-BAR RCL FE 9521.71 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
2017/02/05 4:41:46 AM X-BAR RCL FE 9287.35 RCL101 RCLFE.BATCH_OX_WTW.74.DER RCLFE.BATCH_ASHRATE_PST.74.MON
RCL101 2017/01/21 7:34:05 AM 3897.38724 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/01/24 1:28:26 PM 3898.22897 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/01/31 12:17:43 AM 4002.58931 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL101 2017/02/05 5:01:06 AM 4014.63793 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL102 2017/02/03 4:41:11 AM 4001.03793 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL102 2017/02/07 5:03:23 AM 3927.14069 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/02 5:45:08 PM 3831.54276 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/02 5:49:14 PM 3827.88931 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/03 3:24:54 AM 3786.87207 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL103 2017/02/06 11:49:29 PM 3847.12241 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/20 2:49:09 PM 3960.13897 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/29 1:54:30 AM 3988.62414 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/01/31 9:58:15 PM 3984.87379 RCLFE.ASHRATE_PST.74.MON X-BAR
RCL104 2017/02/07 6:42:46 PM 4064.63414 RCLFE.ASHRATE_PST.74.MON X-BAR
Betreff: Duplikat löschenHier ist ein schnelles Skript, das eine Datentabelle zurückgibt, in der sie nur die Diagrammwerte enthält, die einen Eintrag haben
Names Default To Here( 1 );
dt = Current Data Table();
dtsumm = dt << Summary(
invisible,
Group( :Chart_Value ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
dtsumm << select where( :n rows > 1 );
dtsumm << delete rows;
dtfinal = dt << Join(
With( dtsumm ),
By Matching Columns( :Chart_Value = :Chart_Value ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
Close( dtsum, nosave );