Rechercher et insérer des lignes correspondantesJ'ai deux colonnes, ColumnA et ColumnB. Est-il possible de mettre leur valeur correspondante dans la colonne B ? Les valeurs de la colonne B proviennent de cette liste (voici le code de l'extrait)
fileNames = Files In Directory( directory );
newlist = {};
For( i = 1, i <= N Items( fileNames ), i++,
Insert Into( newlist, fileNames[i] )
);
dt << New Column( "COlumn B", Character, Values( newlist ) );
| Colonne A | Colonne B |
| Apple.doc | |
| Orange.doc | Orange.doc |
| Raisins.doc | Raisins.doc |
| Fraise.doc | |
| Mangue.doc | Mangue.doc |
Mélange et nettoyage des donnéesIngénierie Qualité et ProcédésRe : Rechercher et insérer des lignes correspondantesC'est quelque chose qui a remplacé Name() (dans JMP16 je pense). Ceci est nécessaire s'il existe des caractères spéciaux spécifiques, par exemple dans les noms de colonnes. Voici un article d'aide qui le mentionne (il y en a un meilleur, mais je n'ai pas pu le trouver rapidement) Guide de script > Blocs de construction JSL > Règles de syntaxe JSL > Noms .
Je l'ai utilisé parce que je ne fais pas confiance aux espaces dans les noms de mes colonnes même s'ils devraient être acceptables dans JMP.
Re : Rechercher et insérer des lignes correspondantesMerci à tous pour votre réponse. Ça marche bien.
Je veux juste savoir ce que signifie n dans
:"Column A"n
Re : Rechercher et insérer des lignes correspondantesUne option de plus, assez proche de celle @Georg fourni
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column A",
Character,
"Nominal",
Set Values({"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"})
)
);
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column("Column B", Character, Nomimal,
<< Set Each Value(
If(Contains(newlist, :"Column A"n),
:"Column A"n
,
""
)
)
);Re : Rechercher et insérer des lignes correspondantesEn plus de Join Tables de Jim, ce serait une autre solution :
Names Default To Here( 1 );
// Prepare Table with Column A
dt = New Table( "Column A",
Add Rows( 5 ),
New Column( "Column A", Character, "Nominal", Set Values( {"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"} ) )
);
// Get the list
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column( "Column B", Character );
// Check each row if value is part of the list
For Each Row( dt, If( Contains( newlist, :"Column A"n ), :"Column B"n = :"Column A"n ) );
édité juste pour que ce soit plus clair
Re : Rechercher et insérer des lignes correspondantesCréez votre colonne B dans un tableau de données séparé, puis utilisez
Tables=>Rejoindre
pour fusionner les 2 tables ensemble, en faisant correspondre la colonne A du tableau de données 1 avec la colonne B du tableau de données 2.