<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ai besoin de votre aide pour analyser une chaîne de données dans une table.
Vous trouverez ci-joint un exemple de table Raw_data et la table RSLT que je souhaite réaliser.
Pour chaque EQP, je peux avoir une chaîne avec un couple de (Position:Value) séparés par ";" comme
P:V;P:V;P:V;
Merci pour votre aide
Géof
Cela le fera.Je traite des listes dans des listes à l'aide de la fonction WORDS.
dt = Nouveau tableau ( "Données brutes" ,
Ajouter des lignes ( 6 ) , Nouvelle colonne ( "EQP" , Personnage ( 1 ) , Nominal ,
Définir les valeurs ( { "UN" , "B" , "UN" , "C" , "UN" , "B" } )
) ,
Nouvelle colonne ( "Position : Valeur" , Personnage , Nominal ,
Définir les valeurs (
{ "362:53;394:134 ;" , "227:37;247:152;122:44;" , "96:88 ;" , "266:48 ;" ,
"362:64;394:136 ;" , "266:47 ;" }
)
)
) ;
// Crée une table de résultats vide
rslt_tbl = Nouveau tableau ( "Résultats" , Nouvelle colonne ( "EQP" , Personnage ( 1 ) , Nominal ) ,
Nouvelle colonne ( "Position" , Numérique , Continu , Format ( "Meilleur" , 12 ) ) ,
Nouvelle colonne ( "Valeur" , Numérique , Continu , Format ( "Meilleur" , 12 ) )
) ;
m = 0 ;
pour ( je = 1 , je <= nrows ( dt ) , je ++,
one_eqp = dt : eqp [ je ] ;
pos_val_list = mots ( colonne ( dt , "Position : Valeur" )[ je ] , ";" ) ;
pour ( k = 1 , k <= articles ( pos_val_list ) , k ++,
one_pos_val_list = mots ( pos_val_list [ k ] , ":" ) ;
one_pos = nombre ( one_pos_val_list [ 1 ]) ;
one_val = nombre ( one_pos_val_list [ 2 ]) ;
m ++ ;
rslt_tbl << ajouter des lignes ( 1 ) ;
rslt_tbl : eqp [ m ] = one_eqp ;
rslt_tbl : Position [ m ] = one_pos ;
rslt_tbl : Valeur [ m ] = one_val ;
) ;
) ;