Salut,
Je n'ai aucun problème pour atteindre l'objectif dans JMP.
En JSL, je peux faire des morceaux, mais je ne veux pas que ce soient des colonnes spécifiques liées à un ensemble de données.
Le plus immédiat est que ma liste de colonnes sélectionnées ne peut pas être évaluée en tant que liste pour la plate-forme de distribution et que je souhaite comprendre ce qu'il faut corriger.
J'ai référencé ce post.Scripter plusieurs colonnes regroupées dans un diagramme de distribution
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)));
Dans mon cas:
- ma variable n'est pas une liste de noms de colonnes, mais des colonnes sélectionnées ? - Cela brise l'intrigue de distribution
- le regroupement des colonnes fonctionnait, mais il était cassé ici, il suffit de sélectionner les colonnes
Il y a également eu quelques cas où les colonnes sont sélectionnées, la plate-forme de distribution est affichée, mais attend que l'utilisateur sélectionne les colonnes.
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);
Pour écrire les limites des spécifications dans la table de données, j'utilise le complément, mais je souhaite voir comment intégrer l'appel à celui-ci dans le cadre du script global.Écrire des limites dans une table de données à partir d'une table de limites
Ensuite, j'aurai besoin de suggestions sur la façon d'inclure comme ci-dessous, mais faites référence à un col générique[i]
Je peux expérimenter pour extraire le Cpk sous forme de tableau du rapport.
SendToReport(
Dispatch(
{"ParamOne_a"},
"1",
ScaleBox,
{Label Row( Show Major Labels( 0 ) )}
)
)
Je vais proposer quelque chose de complètement différent pour atteindre le même objectif.
La première étape. Créez votre tableau de spécifications, incluez uniquement les variables avec lesquelles vous souhaitez travailler.
Deuxième étape, utilisez cet exemple pour importer les limites de spécifications et les enregistrer dans les propriétés de colonne.
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;
Cela réduit en quelque sorte votre exemple à 12 lignes de code, mais peut-être que ça va ?
Acclamations,
B