Kategorien aus einem anderen Skript abrufen.Das hat mir sehr geholfen, dahin zu kommen, wo ich jetzt bin
Gelöst: Aufrufen eines Skripts aus einem anderen Skript - JMP-Benutzer-Community
Ich kann ein Skript vom Hauptskript aus aufrufen. Das von mir aufgerufene Skript wendet Kategorien auf den Zieldatensatz an und ich möchte in dem von mir aufgerufenen Skript eine Liste von Kategorien erstellen können, die ich auf das Hauptskript anwenden kann. Unten sehen Sie eine Momentaufnahme des aufgerufenen Skripts. Mehrere Parameter und Kategorien können iteriert werden und ich möchte eine Liste der in der Haupttabelle verfügbaren Kategorien.
Try((Column( "Parameter") << Set Selected(1););
dt << group columns( "ENG" );
dt << deselect column group( "ENG" );):
Automatisierung und SkriptingBetreff: Kategorien aus einem anderen Skript abrufen.Führen Sie Include nur aus, um die andere Skriptdatei auszuführen? Enthält es Ausdrücke/Funktionen? Welche Kategorien und wie möchten Sie diese verfügbar haben?
Betreff: Kategorien aus einem anderen Skript abrufen.Ich verwende Include, um das andere Skript auszuführen, das den Tabellenspalten Kategorien zuweist. Eine alternative Möglichkeit, das zu bekommen, was ich brauche, wäre, die Kategorien in der fertigen Tabelle aufzulisten.
Betreff: Kategorien aus einem anderen Skript abrufen.Wo sind die Kategorien? Was meinen Sie mit Kategorien? Wie sollen sie Ihrer Haupttabelle hinzugefügt werden?
Betreff: Kategorien aus einem anderen Skript abrufen.Jede Messung mit Spezifikationen fällt in eine von der Testorganisation definierte Kategorie. Einige Kategorien sind Ablehnung, d. h. das Bestehen ist entscheidend, andere sind Engineering, d. h. sie sind von Interesse, aber nicht kritisch für das Bestehen.
Betreff: Kategorien aus einem anderen Skript abrufen.Wenn ich Ihren Beitrag richtig verstehe, sieht es so aus, als würde Ihr aufgerufenes Skript „Kategorien“ in Ihrer Datentabelle erstellen, indem es mehrere Spaltengruppen erstellt. Diese Spaltengruppen haben Namen wie „Ablehnen“, „Engineering“, „Etc...“.
Nachdem Sie das aufgerufene Skript ausgeführt haben, können Sie die Liste der Spaltengruppen aus Ihrer Datentabelle abrufen, indem Sie die Funktion „Spaltengruppennamen abrufen“ verwenden. Ein Beispiel wird unten angezeigt:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
show(categoryList);
Um noch einen Schritt weiterzugehen, können Sie, nachdem Sie Ihre Liste mit Kategorien erhalten haben, diese durchlaufen und die Funktion „Spaltengruppe abrufen“ verwenden, um die Liste aller Testmessspalten abzurufen, die sich in jeder Spaltengruppe befinden. Hier ist ein Beispiel:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
for( k = 1, k <= n items( categoryList ), k++,
show( categoryList[k] );
colList = dt << get column group( categoryList[k] );
print( colList );
);Betreff: Kategorien aus einem anderen Skript abrufen.Toll! Ich verwende so etwas, um Informationen aus dem Index in das Hauptskript einzuspeisen. Ich schreibe den Index mit einem anderen Skript. Wahrscheinlich nicht Standard, aber ich schreibe das Skript in die Spalten der Datentabelle, die die Spezifikationsgrenzen enthalten, kopiere es als Text und füge es in ein Skriptfenster ein. Scheint zu funktionieren.
Spud = (":" || cnmes2[l]);
Spuds = Parse( Eval Insert( Spud ) );
Tabname = Char( dt );
//This section of the script devises a name for each script generated.
Tabname = Char( dt );
Show( Tabname );
name = Char( Column Name( l ) );
names = Char( "Spec Limits, Group and Notes Script " ) || Char( Tabname ) || Char( name );
Show( names );
Show( Spuds );
Ainim = Regex( names, "\!"", "", GLOBALREPLACE );
Show( Ainim );
link = Char(cats);
//Scripts are generated in 2 table columns "Address Data Table" and "Group with Notes and Spec Limits" before being pasted into a Script Window.
New Column( "Address Data Table",
Character,
"Nominal",
Formula(
If( Row() == 1,
"dt=Current Data Table();
Process_Script = " || "\!"" || Ainim || "\!"" || "; Show( Process_Script );
cats = " || link || "; Show( Process_Script );"
)
)
);
Column( "Address Data Table" ) << Delete Formula;For( l = Num(Start), l <= N Items( cnmes2 ), l++,
summarize(cats=by(cnmes2 [l] ));
delcats = {"", "-"};
For( i = 1, i <= N Items( delcats ), i++,
Remove From( cats, As List( Loc( cats, delcats[i] ) ) )
);
show(cats);