Hallo,
Ich habe kein Problem damit, das Ziel in JMP zu erreichen.
In JSL kann ich Teile erstellen, möchte aber nicht, dass sie an bestimmte Spalten gebunden sind, die an einen Datensatz gebunden sind.
Am augenfälligsten ist, dass meine Liste der ausgewählten Spalten nicht als Liste für die Vertriebsplattform ausgewertet werden kann und ich wissen möchte, was korrigiert werden muss.
Ich habe auf diesen Beitrag verwiesen.Erstellen Sie ein Skript für mehrere Spalten, die im Verteilungsdiagramm gruppiert sind
dt = Open("$Sample_Data/Semiconductor Capability.jmp");
cnames = dt << get column names("Continuous", "string");
//Here I will just use 10
cnames = cnames[1::10];
dist = dt << Distribution(Columns(evalList(cnames)));
In meinem Fall:
- Meine Variable ist keine Liste von Spaltennamen, sondern ausgewählte Spalten? – Dies bricht den dist-Plot
- Die Spaltengruppierung funktionierte, war hier jedoch fehlerhaft und wählte nur die Spalten aus
Es gab auch ein paar Fälle, in denen die Spalten ausgewählt wurden, die Vertriebsplattform aufgerufen wurde, aber darauf gewartet wurde, dass der Benutzer die Spalten auswählte.
dt = Current Data Table();
all_col_names = dt << get column names( string );
number_columns = N Cols( dt );
dt << Clear Column Selection;
//2. Containing Keyword Column Grouping
found_list = {};
keyword_group_list = {"ParamOne","ParamTwo"};
//3. Loop over columns keywords to group
For( i = 1, i <= N Items( keyword_group_list ), i++,
found_list = {};
For( k = 1, k <= N Items( col_names ), k++,
If( contains( col_names[k], keyword_group_list[i] )>0,
Insert Into( found_list, col_names[k] );
As Column( col_names[k] ) << Set Selected( 1 );
);
);
);
col_to_plot = dt << Get Selected Columns;
distParams = dt << Distribution(Columns(evalList(col_to_plot)));
distParams << arrange in rows(3);
report(distParams)[OutlineBox(2)] << Open all like this(1);
Zum Schreiben von Spezifikationsgrenzen in die Datentabelle habe ich das Add-In verwendet, möchte aber sehen, wie ich den Aufruf dazu als Teil des gesamten Skripts integrieren kann.Schreiben Sie Grenzwerte aus einer Grenzwerttabelle in eine Datentabelle
Dann benötige ich Vorschläge, wie ich Folgendes einbinden kann, verweise aber auf eine generische Spalte[i]
Ich kann gerne experimentieren, um den Cpk als Tabelle aus dem Bericht zu extrahieren.
SendToReport(
Dispatch(
{"ParamOne_a"},
"1",
ScaleBox,
{Label Row( Show Major Labels( 0 ) )}
)
)
Ich werde etwas völlig anderes vorschlagen, um dasselbe Ziel zu erreichen.
Schritt eins. Erstellen Sie Ihre Spezifikationstabelle und fügen Sie nur die Variablen ein, mit denen Sie arbeiten möchten.
Schritt zwei: Verwenden Sie dieses Beispiel, um die Spezifikationsgrenzen zu importieren und sie in den Spalteneigenschaften zu speichern.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt <<
Process Capability(
Process Variables( :OZONE, :CO, :SO2, :NO ),
Spec Limits(
Import Spec Limits(
"$SAMPLE_DATA/CitySpecLimits.jmp"
)
)
);
obj << Save Spec Limits as Column Properties;
Dadurch wird Ihr Beispiel auf 12 Codezeilen reduziert, aber vielleicht ist das in Ordnung?
Prost,
B