Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneSalut,
Je voudrais retourner "False" si des données de colonne contiennent "hello" sinon retourner un "True"

Je ne peux traiter qu'une seule colonne avec si, des idées ?
AnalytiqueTableau de donnéesScriptRe : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneDe nombreuses façons de le faire. Avez-vous besoin d'une formule, la définition de valeurs suffit-elle, JSL ou non, une solution interactive ?
Voici une formule possible, mais je la supprimerais après qu'elle ait été calculée une fois, car elle ne sera pas réévaluée de la même manière que les formules le font habituellement (cela pourrait ne pas être un problème dans ce cas).
If(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0,
"FALSE",
,
"TRUE"
);

Ce script devrait donner une petite explication supplémentaire, mais il ne créera pas de nouvelle colonne pour vous. Ouvrez le journal et exécutez-le, vous pouvez également modifier Row() = 1 en Row() = 2 et ainsi de suite, pour voir comment il se comporte sur différentes lignes
Names Default To Here(1);
dt = New Table("Untitled 9",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 2", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 3", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 4", Character, "Nominal", Set Values({"hello", "hello", "bye"})),
New Column("Column 5", Character, "Nominal", Set Values({"hello", "bye", "bye"}), Set Display Width(75)),
New Column("Column 6", Character, "Nominal", Set Values({"hello", "bye", "bye"}))
);
Row() = 1;
Show(Current Data Table()[Row(), 1::N Cols()]);
Show(Loc(Current Data Table()[Row(), 1::N Cols()], "hello"));
Show(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")));
Show(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0);

Re : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneSalut,
J'ai un ensemble de données avec quelques milliers de lignes mais j'aurais besoin de post-traiter les données avec un script jmp. Jusqu'à présent, mon script a filtré tout le bruit. Juste besoin de savoir comment mettre en œuvre la solution que vous avez fournie
Re : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneEn termes d'excel, voici ma formule:
=SI(COUNTIF(R21602:AC21602,"BONJOUR")>0,"FAUX","VRAI")
Re : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneVous créeriez une nouvelle formule personnage colonne Créer des formules dans JMP (jmp.com) comme dernière colonne du tableau de données et copiez-collez la formule que j'ai fournie. Après cela, vous pouvez rouvrir les propriétés de la colonne en double-cliquant sur l'en-tête de la colonne et supprimer la formule si vous le souhaitez. Si vous disposez d'un journal amélioré JMP16, vous devez fournir un script pour effectuer cette opération si nécessaire.
J'avais un "," supplémentaire dans le post précédent (je vais le modifier):
If(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0,
"FALSE"
,
"TRUE"
);
Re : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneSalut,
J'ai essayé la formule, mais c'est seulement vide. Existe-t-il un moyen de le faire comme Excel =IF(COUNTIF(R21602:AC21602,"HELLO")>0,"FALSE","TRUE"), où nous ne pouvons cibler qu'une plage spécifique de colonnes pour vérifier "Hello" ?
Formule:
dt << Nouvelle colonne("Scan_RESULT", Caractère, Formule nominale(If(N Items(Loc(dt[Row(), 1::N Cols()], "hello")) > 0)),
"FAUX"
,
"VRAI"
);
Re : Renvoie "True" ou "False" si plusieurs colonnes contiennent une chaîneVoici mon approche, qui ajoute la possibilité de définir la plage.
If( Row() == 1,
dt = Current Data Table();
rangelow = 2;
rangehigh = 14;
);
If( Contains( dt[Row(), Index( rangelow, rangehigh )], "hello" ),
"False",
"True"
);
J'ai joint un exemple de tableau de données avec la formule déjà intégrée dans la colonne.j'ai aussi inclus @jthi réponse dans une nouvelle colonne appelée Scan_RESULT
