Rechercher et sélectionner un mot sur une chaîneSalut tout le monde,
J'ai deux tables de données différentes et je dois rechercher et sélectionner si le mot existe sur l'autre table.
J'ai essayé d'utiliser Contains() mais cela ne fonctionne pas. S'il vous plaît, aidez
Voici un exemple:
dt1
| chien |
| chat |
| poisson |
| oiseau |
| vache |
dt2
| chien et gorille |
| souris, girafe |
| requin, baleine, pingouin |
| autruche et oiseau |
| lion et tigre, vache |
Résultat (le texte en caractères gras est sélectionné) :
dt2
| chien et gorille |
| souris, girafe |
| requin, baleine, pingouin |
| autruche et oiseau |
| lion et tigre, vache |
Automatisation et scriptsles fenêtresRe : Rechercher et sélectionner un mot sur une chaîneVoici une façon de faire ce que vous recherchez. Veuillez noter que je pense que la ligne 3 de votre tableau qui montre les résultats est mal sélectionnée.
Names Default To Here( 1 );
// Create the tables
dt1 = New Table( "Lookup", Add Rows( 5 ), New Column( "key", Character, Set Values( {"dog", "cat", "fish", "bird", "cow"} ) ) );
dt2 = New Table( "Base",
Add Rows( 5 ),
New Column( "Target", Character, Set Values( {"dog&gorilla", "mouse, giraffe", "shark, whale, penguin", "ostrich&bird", "lion&tiger,cow"} ) )
);
// Place all key values into a list
KeyList = dt1:key << get values;
// Loop across the keys and search each row of Target for the
// match
For Each( {val}, keyList,
For Each Row(
If( Contains( :Target, val ),
Row State( Row() ) = Selected State( 1 )
)
)
);

Re : Rechercher et sélectionner un mot sur une chaîneJuste une question complémentaire, puis-je utiliser ces lignes sélectionnées pour les faire correspondre à d'autres tableaux ? Comme dans la mise à jour ?
Re : Rechercher et sélectionner un mot sur une chaîneJe ne comprends pas votre question. Cependant, vous pouvez facilement créer un sous-ensemble de la table de base contenant uniquement les lignes sélectionnées, puis mettre à jour une autre table à partir de cette table. Voici le JSL pour faire le sous-ensemble
dt3 = dt2 << Subset( selected columns( 0 ), selected rows( 1 ) );