複数の列に文字列が含まれている場合は、「True」または「False」を返しますやあ、
列データに「hello」が含まれている場合は「False」を返したいのですが、それ以外の場合は「True」を返します

もし何かアイデアがあれば、1列しか処理できませんか?
分析データ表スクリプティングRe: 複数の列に文字列が含まれる場合は「True」または「False」を返しますこれが私のアプローチで、範囲を設定する機能を追加します。
If( Row() == 1,
dt = Current Data Table();
rangelow = 2;
rangehigh = 14;
);
If( Contains( dt[Row(), Index( rangelow, rangehigh )], "hello" ),
"False",
"True"
);
数式が既に列に埋め込まれているサンプル データ テーブルを添付しました。私も含めました@jthi Scan_RESULT という新しい列の応答

Re: 複数の列に文字列が含まれる場合は「True」または「False」を返しますやあ、
数式を試してみましたが、空白しかありません。 Excelのようにそれを行う方法はありますか=IF(COUNTIF(R21602:AC21602,"HELLO")>0,"FALSE","TRUE"), ここで、"Hello" をチェックする列の特定の範囲のみをターゲットにできますか?
方式:
dt << New Column("Scan_RESULT", Character, Nominal Formula(If(N Items(Loc(dt[Row(), 1::N Cols()], "hello")) > 0)),
"間違い"
、
"真実"
);
Re: 複数の列に文字列が含まれる場合は「True」または「False」を返します新しい数式を作成しますキャラクター桁JMP で式を作成する (jmp.com)データテーブルの最後の列として、私が提供した式をコピーして貼り付けます。 その後、必要に応じて、列ヘッダーをダブルクリックして列のプロパティを再度開き、数式を削除できます。 JMP16 拡張ログがある場合、必要に応じてこれを実行するためのスクリプトが提供されます。
以前の投稿に「,」が 1 つ余分にありました (編集します)。
If(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0,
"FALSE"
,
"TRUE"
);
Re: 複数の列に文字列が含まれる場合は「True」または「False」を返しますExcelに関しては、これは私の式です:
=IF(COUNTIF(R21602:AC21602,"HELLO")>0,"FALSE","TRUE")
Re: 複数の列に文字列が含まれる場合は「True」または「False」を返しますやあ、
数千行のデータ セットがありますが、jmp スクリプトを使用してデータを後処理する必要があります。 これまでのところ、私のスクリプトはすべてのノイズを除去しています。 あなたが提供したソリューションを実装する方法を知る必要があるだけです
Re: 複数の列に文字列が含まれる場合は「True」または「False」を返しますこれを行う多くの方法。 数式が必要ですか、値を設定するのに十分ですか、JSL かどうか、インタラクティブなソリューションはありますか?
考えられる式の 1 つを次に示しますが、通常の式と同じように再評価されないため、一度計算したら削除します (この場合は問題にならない可能性があります)。
If(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0,
"FALSE"
,
"TRUE"
);

このスクリプトは少し追加の説明を提供する必要がありますが、新しい列は作成されません。 ログを開いてこれを実行します。Row() = 1 を Row() = 2 などに変更して、さまざまな行での動作を確認することもできます
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: 複数の列に文字列が含まれている場合は「True」または「False」を返しますこの列の範囲内で「hello」が何回出現するかを取得したい場合はどうすればよいでしょうか?
また別の状況として、「hello」という単語が特定の列のセル内のテキストの一部である場合はどうなるでしょうか?
Re: 複数の列に文字列が含まれている場合は「True」または「False」を返します1. Locを使用して一致を確認できます
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
N Items(Loc(dt[Row(), Index(rangelow, rangehigh)], "hello"));
2. その範囲内に「hello」が何回出現するかを知りたいのだと思います。ループ+ContainsまたはSubstitute+Lengthのオプションがあります。
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
str = Concat Items(dt[Row(), Index(rangelow, rangehigh)], " ");
new_str = Substitute(str, "hello", "");
(Length(str) - Length(new_str)) / Length("hello")
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello"));
N Items(res);
もっと見る...
Names Default To Here(1);
dt = New Table("Untitled",
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", "hello", "bye"})),
New Column("Column 4", Character, "Nominal", Set Values({"hello", "a hello a", "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"}))
);
dt << new column("hellocount", numeric, continuous, formula(
If( Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
N Items(Loc(dt[Row(), Index(rangelow, rangehigh)], "hello"));
));
dt << new column("hellocountwithin", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
str = Concat Items(dt[Row(), Index(rangelow, rangehigh)], " ");
new_str = Substitute(str, "hello", "");
(Length(str) - Length(new_str)) / Length("hello");
));
dt << new column("hellocountwithin2", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello"));
N Items(res);
));
Re: 複数の列に文字列が含まれている場合は「True」または「False」を返しますありがとうございます。数式は完璧に機能しました。ただし、私のデータはもう少し複雑であることに気付きました。
ターゲット単語が 2 つあります。たとえば、「hello」と「Hi」です。一部のセルでは、「Hi」が 2 回または 3 回出現し、他のセルでは「Hello」と「Hi」の両方が存在する可能性があります。いずれかの単語を含むセルの数をカウントする必要があります。各セルは、そのセル内で単語が何回出現するかに関係なく、1 回だけカウントする必要があります。
Re: 複数の列に文字列が含まれている場合は「True」または「False」を返しますこれがあなたが探しているものだと思います

これに対する答えはすでに基本的に提供されているので、「正しい」「数式」(これらは動的に評価されません)を選択し、「こんにちは」の追加チェックを追加します
Names Default To Here(1);
dt = New Table("Untitled",
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", "hello", "bye"})),
New Column("Column 4", Character, "Nominal", Set Values({"hello", "a hello a", "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 hello hi", "hi hi hi hi", "bye"}))
);
dt << new column("C", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello") | Contains(val, "hi"));
N Items(res);
));