<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je voudrais créer un tableau associatif à partir de valeurs de colonne.Je suis curieux de savoir si quelqu'un dans la communauté JMP a une solution intelligente.J'utilise JMP10. Un exemple est ci-dessous.
// Pour la table de données suivante :
example = New Table( "Example Data", Add Rows( 27 ), New Column( "Lot", Character, Nominal, Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", " B", "B", "B", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C" , "C", "C"}
) ), Nouvelle colonne( "Test", Caractère, Nominal, Valeurs définies(
{"Test1", "Test1", "Test1", "Test2", "Test2", "Test2", "Test3", "Test3", "Test3", "Test1", "Test1", "Test1", " Test2", "Test2", "Test2",
"Test3", "Test3", "Test3", "Test1", "Test1", "Test1", "Test2", "Test2", "Test2", "Test3", "Test3", "Test3"}
) ), Nouvelle colonne( "Paramètre", Caractère, Nominal, Valeurs définies(
{"Param1", "Param2", "Param3", "Param1", "Param2", "Param3", "Param1", "Param2", "Param3", "Param1", "Param2", "Param3", " Param1",
"Param2", "Param3", "Param1", "Param2", "Param3", "Param1", "Param2", "Param3", "Param1", "Param2", "Param3", "Param1", "Param2 ",
"Param3"} ) ), Nouvelle colonne( "Rendement", Numérique, Continu, Format( "", 16 ),
Définir les valeurs( [1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0] )
), New Column( "Code de défaut", Caractère, Nominal, Formule( If( :Yield == 0, :Test || "_" || :Parameter ) ) ) );
// Je voudrais créer un tableau associatif avec key = Lot, et values = Defect Codes.Veuillez voir l'exemple ci-dessous.
// Quelle est la meilleure façon de scripter cela ?
// En bonus, est-il possible de créer un tableau associatif à plusieurs niveaux (IE : Lot => Test => Paramètre => Defect Code) ?
Defects = Associative Array( example:Lot );
Défauts["A"] = {"Test1_Param3", "Test2_Param2", "Test2_Param3", "Test3_Param2"} ;
Défauts["B"] = {"Test1_Param1", "Test1_Param2", "Test1_Param3", "Test2_Param2", "Test3_Param2", "Test3_Param3"} ;
Défauts["C"] = {"Test1_Param2", "Test1_Param3", "Test2_Param3", "Test3_Param3"} ;
// Merci pour l'aide!
Si quelqu'un est curieux :
Défauts = Tableau Associatif( :Lot );
currentkey1 = Défauts << Premier ;
For( i = 1, i <= N Items( Defects ), i++,
valeurs1 = Associative Array( :Test[example << Get Rows Where( :Lot == currentkey1 )] );
Défauts[currentkey1] = valeurs1 ;
currentkey2 = Défauts[currentkey1] << Premier ;
For( j = 1, j <= N Items( Defects[currentkey1] ), j++,
values2 = :Defect Code[example << Get Rows Where( :Lot == currentkey1 & :Test == currentkey2 & :Yield == 0 )];
Défauts[currentkey1][currentkey2] = valeurs2 ;
nextkey2 = Défauts[currentkey1] << Next( currentkey2 );
cléactuelle2 = clésuivante2 ;
);
nextkey1 = Défauts << Next( currentkey1 );
cléactuelle1 = clésuivante1 ;
);
Afficher (Défauts);
j'ai compris comment créer un tableau associatif avec la clé = Lot et les valeurs = Codes de défaut .
Je suis curieux de savoir s'il y a des conseils sur les tableaux associatifs à plusieurs niveaux.Merci!
Defects = Associative Array( example:Lot );
currentkey = Défauts << Premier ;
For( i = 1, i <= N Items( Defects ), i++,
values = :Defect Code[example << Get Rows Where( :Lot == currentkey & :Yield == 0 )];
Défauts[currentkey] = valeurs ;
nextkey = Défauts << Next( currentkey );
clé actuelle = clé suivante ;
);
Afficher (Défauts);