<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich habe ein Skript, das mehrere Datentabellen öffnet und einen Algorithmus ausführt, der eine neue Spalte erstellt und je nach Ergebnis für jede dieser Dateien eine Farbe zuweist. Anschließend werden sie verkettet und abhängig von den ausgewählten Spalten eine Teilmengen-Tabelle erstellt.
Das Problem ist, dass beim Verketten der Datentabellen die Farbe weder in der neuen verketteten Datentabelle noch in der Teilmenge angezeigt wird. Mein Skript ist unten. Ich habe auch das Skript und die Datentabellen angehängt. Vielen Dank.
Namensvorgabe bis hier ( 1 ) ;
// Verwenden Sie 'PickFile ()', um eine Liste der zu öffnenden Dateien zu erhalten (nur Windows)
Dateiliste = Datei auswählen (
"Wählen Sie eine oder mehrere Dateien aus" . // Eingabeaufforderung
"$ DESKTOP" . // Anfangsordner
{ "JMP-Dateien | jmp; jsl; jrn; csv" . "Alle Dateien | *" } . // Liste der anzuwendenden Dateifilter (von OS / X ignoriert)
1 . // Anfänglicher Dateifilter zum Anwenden (Index des Elements in der obigen Liste)
0 . // Speichern-Flag - Geben Sie entweder ein Fenster 'Speichern' oder 'Öffnen' an. Legen Sie einen Wert von 1 bzw. 0 fest.
Leeren () . // Standarddatei
mehrere // Multiple - Wenn 'Save Flag' = 0 ist, können mit einem Wert von 1 mehrere Dateien geöffnet werden (von OS / X ignoriert)
) ;
// Wenn nur eine einzige Datei ausgewählt wird, ist fileList keine Liste. Daher müssen wir sie selbst erstellen
Ob ( ! Ist Liste ( Dateiliste ) .
Dateiliste = Bewertungsliste ( { Dateiliste } )
) ;
// Öffnen Sie die Dateien und speichern Sie die entsprechenden JMP-Tabellennamen
tableNames = {} ;
Zum ( f = 1 . f <= N Artikel ( Dateiliste ) . f ++
dttemp = Öffnen ( Dateiliste [ f ] ) ;
Einfügen in ( tableNames . dttemp << getName ) ;
dttemp = Aktuelle Datentabelle () ;
dttemp << Neue Spalte ( "St / Si" . Numerisch . kontinuierlich . Format ( "Beste" . 5 ) .
Formel ( : "Lenkbewertung" / : "Größe des Autos" ) ) ;
dttemp << Neue Spalte ( V1-St / Si . Numerisch . kontinuierlich . Format ( "Beste" . 5 )) ;
Zum ( ich = 1 . ich <= N Row ( dttemp ) . ich ++
Ob ( : "St / Si" [ ich ] > ( Col Mean ( : "St / Si" ) + ( Col Maximum ( : "St / Si" ) - Col Mean ( : "St / Si" )) * 1 / 2 ) . : V1-St / Si [ ich ] = 3 .
Ob ( : "St / Si" [ ich ] > ( Col Mean ( : "St / Si" ) - ( Col Mean ( : "St / Si" ) - Col Minimum ( : "St / Si" )) * 1 / 2 ) . : V1-St / Si [ ich ] = 2 .
Ob ( : "St / Si" [ ich ] > Col Minimum ( : "St / Si" ) . : V1-St / Si [ ich ] = 1 . : V1-St / Si [ ich ] = 0 )
)
) ;
) ;
// Farbe Zeile für Zeile
Zum ( ich = 1 . ich <= N Row ( dttemp ) . ich ++
Ob ( : "St / Si" [ ich ] > ( Col Mean ( : "St / Si" ) + ( Col Maximum ( : "St / Si" ) - Col Mean ( : "St / Si" )) * 1 / 2 ) .
Säule ( dttemp . V1-St / Si ) << Farbzellen ( 3 . { ich } ) .
Ob ( : "St / Si" [ ich ] > ( Col Mean ( : "St / Si" ) - ( Col Mean ( : "St / Si" ) - Col Minimum ( : "St / Si" )) * 1 / 2 ) .
Säule ( dttemp . V1-St / Si ) << Farbzellen ( 9 . { ich } ) .
Ob ( : "St / Si" [ ich ] > Col Minimum ( : "St / Si" ) .
Säule ( dttemp . V1-St / Si ) << Farbzellen ( 4 . { ich } ) .
Säule ( dttemp . V1-St / Si ) << Farbzellen ( 4 . { ich } )
)
)
) ;
) ;
// Die Datentabellen zusammenfügen
Ob ( f == 1 .
dt = dttemp .
dtx = dt << Beitreten ( Mit ( dttemp ) .
Haupttabellenreihenfolge beibehalten () .
Name der Ausgabetabelle ( "Verkettete Carrat" ) .
Spalteneigenschaft beibehalten .
) ;
Schließen ( dttemp . nosave ) ;
Schließen ( dt . nosave ) ;
dt = dtx
) ;
) ;
// Erstellen eines Spaltenkopierers zum Kopieren von Dateien
dt = Aktuelle Datentabelle () ;
dt2 = dt << Teilmenge () ;
Vielleicht habe ich Ihren Code falsch verstanden, aber ich habe den Code in JMP 12 (unter OS X) ausprobiert, indem er die drei angehängten Dateien auswählte, und die Ausgabetabelle "Concatenated Carrat 2" enthält drei Spalten mit farbigen Zellen.
Bekommen Sie Fehlermeldungen?
Wenn Sie die Spalteneigenschaft verwenden Wert Farben Zum Färben von Zellen kann die Zellenfarbe in der verbundenen Tabelle beibehalten werden.
Im Folgenden wird Ihr Code repliziert. Nun wird jedoch bei jeder Erstellung einer neuen "V1-St / Si" -Spalte eine Farbspalteneigenschaft hinzugefügt:
Namensvorgabe bis hier ( 1 );
// Verwenden Sie 'PickFile ()', um eine Liste der zu öffnenden Dateien zu erhalten (nur Windows)
fileList = Datei auswählen (
"Wählen Sie eine oder mehrere Dateien aus" . // Eingabeaufforderung
"$ DESKTOP" . // Anfangsordner
{ "JMP-Dateien | jmp; jsl; jrn; csv" . "Alle Dateien | *" }, // Liste der anzuwendenden Dateifilter (von OS / X ignoriert)
1 . // Anfänglicher Dateifilter zum Anwenden (Index des Elements in der obigen Liste)
0 . // Speichern-Flag - Geben Sie entweder ein Fenster 'Speichern' oder 'Öffnen' an. Legen Sie einen Wert von 1 bzw. 0 fest.
Leeren (), // Standarddatei
mehrere // Multiple - Wenn 'Save Flag' = 0 ist, können mit einem Wert von 1 mehrere Dateien geöffnet werden (von OS / X ignoriert)
);
// Wenn nur eine einzige Datei ausgewählt wird, ist fileList keine Liste. Daher müssen wir sie selbst erstellen
Ob (! Ist Liste (Dateiliste),
fileList = Bewertungsliste ({dateiliste})
);
// Öffnen Sie die Dateien und speichern Sie die entsprechenden JMP-Tabellennamen
tableNames = {};
Zum (f = 1 , f <= N Artikel (Dateiliste), f ++,
dttemp = Öffnen (Dateiliste);
Einfügen in (tableNames, dttemp << getName );
dttemp = Aktuelle Datentabelle ();
dttemp << Neue Spalte ( "St / Si" Numerisch, kontinuierlich, Format ( "Beste" . 5 ), Formel (: "Lenkbewertung" /: "Größe des Autos" ));
dttemp << Neue Spalte ( V1-St / Si .
Numerisch,
kontinuierlich
Format ( "Beste" . 5 )
<< Spalteneigenschaften hinzufügen (Eigenschaft setzen ( "Wert Farben" { 0 = 4 . 1 = 4 . 2 = 9 . 3 = 3 }), Farbzelle nach Wert)
);
Zum (i = 1 , ich <= N Row (dttemp), i ++,
Ob (: "St / Si" > ( Col Mean (: "St / Si" ) + ( Col Maximum (: "St / Si" ) - Col Mean (: "St / Si" )) * 1 / 2 )
: V1-St / Si = 3 .
Ob (: "St / Si" > ( Col Mean (: "St / Si" ) - ( Col Mean (: "St / Si" ) - Col Minimum (: "St / Si" )) * 1 / 2 )
: V1-St / Si = 2 .
Ob (: "St / Si" > Col Minimum (: "St / Si" )
: V1-St / Si = 1 .
: V1-St / Si = 0
)
)
)
);
// Die Datentabellen zusammenfügen
Ob (f == 1 .
dt = dttemp,
dtx = dt << Beitreten (Mit (dttemp), Main Table Order () beibehalten) "Verkettete Carrat" ), Retain Column-Eigenschaft,);
Schließen (dttemp, nosave);
Schließen (dt, nosave);
dt = dtx;
);
);