Problème avec la sélection de la table de donnéesBonjour,
J'espère que tu vas bien.
Il s'agit d'un code très long et non optimisé pour effectuer 2 sous-ensembles à partir de deux ensembles de données différents ("CL et Spec" et "Ensemble de données"). Une zone de texte permet de choisir les lignes à sélectionner en fonction des niveaux des ensembles de données.
Cependant, le problème est qu'après l'exécution du sous-ensemble de la première table de données (ensemble de données nommé "CL et Spec"), le sous-ensemble du deuxième ensemble de données (nommé "Ensemble de données") ne fonctionne pas sans aucun message d'erreur. Il n'y a simplement aucun sous-ensemble qui est exécuté. Je crois comprendre qu'il y a un problème avec ma façon de sélectionner l'ensemble de données à sélectionner pour le sous-ensemble. Ou je n'ai pas utilisé correctement la fonction "Current Data Table".
Voici mon code :
dt2 = Data Table( "CL and Spec" );
Current Data Table( dt2 );
// get unique values from the strength column
Summarize( dt2, levels = by( :Product ) );
// construct a window containing checkboxes
New Window( "Selection",
modal,
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ),
V List Box(
Text Box( "Select values:" ),
here:cb = Check Box( levels ),
Spacer Box( size( 0, 20 ) ),
Button Box( "Create Subset", doSubset() )
)
)
);
// define function to perform when button is cliccked
doSubset = Function( {},
{default local},
dt2 = Current Data Table();
dt2 << clear select;
// get user selections
selected = here:cb << get selected;
// iterate over each of the selected values
// and select the associated rows
For( i = 1, i <= N Items( selected ), i++,
rows = dt2 << select where( :Product == selected[i], current selection( "extend" ) )
);
// create a subset table
dt2 << subset( selected rows( 1 ), selected columns only( 0 ) );
dt2 << clear select;
);
// Define the control and specification limits
LSL = dt2:LSL[1];
USL = dt2:USL[1];
dt = Data Table( "Data Set" );
Current Data Table( dt );
// get unique values from the strength column
Summarize( dt, levels = by( :Strength ) );
// construct a window containing checkboxes
New Window( "Selection",
modal,
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ),
V List Box(
Text Box( "Select values:" ),
here:cb = Check Box( levels ),
Spacer Box( size( 0, 20 ) ),
Button Box( "Create Subset", doSubset() )
)
)
);
// define function to perform when button is cliccked
doSubset = Function( {},
{default local},
dt = Data Table( "Data Set" );
Current Data Table( dt );
dt << clear select;
// get user selections
selected = here:cb << get selected;
// iterate over each of the selected values
// and select the associated rows
For( i = 1, i <= N Items( selected ), i++,
rows = dt << select where( :Strength == selected[i], current selection( "extend" ) )
);
// create a subset table
dt << subset( selected rows( 1 ), selected columns only( 0 ) );
dt << clear select;
);J'espère que ma question et mon problème sont clairement exprimés 
Merci beaucoup pour votre aide et bonne journée !
Jean
ScriptRe : Problème avec la sélection de la table de donnéesJe n'ai pas vos tables, mais voici comment j'aborderais un problème similaire:
Names Default to Here( 1 );
dt2 = Data Table( "CL and Spec" );
// get unique values from the strength column
levels = Associative Array( dt2:product ) << Get Keys;
// construct a window containing checkboxes
continue = 0;
New Window( "Selection",
<<MODAL></MODAL>
Re : Problème avec la sélection de la table de donnéesEn fait, mon souci est que je souhaite ouvrir 2 jeux de données différents et utiliser les données du premier, puis passer au suivant.
J'ai utilisé la fonction "Current Data Table" avant d'effectuer le sous-ensemble.
Une première partie du code consiste à charger l'ensemble de données "CL et Spec", à ouvrir une zone de texte, à créer un sous-ensemble d'une ligne de l'ensemble de données "CL et Spec" et à stocker les paramètres "LSL" et "USL" dans le LSL et les variables USL. Ensuite, le jeu de données "CL et Spec" n'est plus utilisé.
Names Default to Here( 1 );
dt2 = Data Table( "CL and Spec" );
// get unique values from the strength column
levels = Associative Array( dt2:product ) << Get Keys;
// construct a window containing checkboxes
continue = 0;
New Window( "Selection",
<<MODAL></MODAL>
Ensuite, la deuxième partie du code consiste à charger l'ensemble de données "Ensemble de données", à ouvrir une zone de texte et à créer des sous-ensembles de lignes de l'ensemble de données "Ensemble de données".
dt = Data Table( "Data Set" );
Current Data Table( dt );
// get unique values from the strength column
Summarize( dt, levels = by( :Strength ) );
// construct a window containing checkboxes
New Window( "Selection",
modal,
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ),
V List Box(
Text Box( "Select values:" ),
here:cb = Check Box( levels ),
Spacer Box( size( 0, 20 ) ),
Button Box( "Create Subset", doSubset() )
)
)
);
// define function to perform when button is cliccked
doSubset = Function( {},
{default local},
dt = Data Table( "Data Set" );
Current Data Table( dt );
dt << clear select;
// get user selections
selected = here:cb << get selected;
// iterate over each of the selected values
// and select the associated rows
For( i = 1, i <= N Items( selected ), i++,
rows = dt << select where( :Strength == selected[i], current selection( "extend" ) )
);
// create a subset table
dt << subset( selected rows( 1 ), selected columns only( 0 ) );
dt << clear select;
);Cependant, les deuxièmes données ne sont pas chargées ou il n'y a pas de sous-ensembles de lignes...
Merci beaucoup pour votre aide!