列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型 ?やあ、
テキストを含む列内にある可能性のある特定の文字列(実際には「JMP1」と「JMP2」という2つの文字列)を検索する際に助けが必要です。その列を下に移動し、次に数式列があります。見つかった場合は「JMP1」または「JMP2」というラベルを付け、見つからない場合は「NA」というラベルを付けます。
いくつかのメモ:
1 - 「JMP1」または「JMP2」は、列 1 のテキスト内の任意の位置に配置できます。
2- 「JMP1」と「JMP2」は列 1 の同じテキストに含まれていません。
したがって、私の考えでは、数式列 (列 2 - ラベル列) は次のようになります。
IF (列 1含まれています"JMP1"、列 2 = "JMP1"、その他 (IF 列 1)含まれています"JMP2"、列 2 = "JMP2"、そうでない場合、列 2 = "NA"));
Match 関数を調べてみましたが、引数や式が複数あるため少し混乱してしまいました。 もしかしたら私も正しい道を進んでいないのかもしれない、だからこそアドバイスが必要なのかもしれない
誰かが自分の考えを共有できれば幸いです (できれば数式領域を通じてですが、JSL を通じて提案も歓迎します)。
ありがとう、
バスコ
Re: 列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型?ああ、混乱はわかります。 したがって、contains 関数で探していた完全な文字列を使用したため、位置 1 で始まる文字列として「1」を取得するか、文字列がどの位置からも開始されないため 0 を取得します。 これは If ステートメントで機能しました。 Contains(:column, "P") を使用した場合、P は 3 番目の位置にあるため、JMPx 値を持つ行に対して「3」が返されます。 あなたがしようとしていたように、私は通常contain関数を使用するので、そのニュアンスについては考えませんでした(または本当に知りませんでした)...そこに何かがあるかどうか。 Regex ソリューションはより洗練されており、データの変化に伴う再現性を必要とするものに適したソリューションです。Re: 列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型?やあ@vince_faller 、
現時点では、あなたの提案は私にとって少し高度すぎることを認めなければなりません。ただし、ご意見ありがとうございます。:)
私の問題に対するカレンのシンプルな提案がとても気に入りました。
よろしく、
バスコ
Re: 列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型?やあ@KarenC 、
ありがとう、うまくいきました!シンプルでわかりやすい:)
実際、Character 関数のヘルプで Contains 関数を見ましたが、「数値位置」を取得すると書かれているため、説明が混乱していました。 あなたのソリューションは、私が投稿で述べたものとほぼ同じで、contains 関数を使用して実際の JMP 式に変換する必要がありました。
乾杯、
バスコ
Re: 列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型?Regex は非常に強力で、多くの言語で使用されています。 確かにそれを理解するのは非常に難しいかもしれませんが。
Names default to here(1);
dt = new table("Example",
New Column("JMPs", character, <<SET values=""></SET>Re: 列文字内の特定のテキスト (単語) を検索する方法 - 公称データ型?If( Contains( :name, "JA" ),
"JA",
If( Contains( :name, "MA" ),
"MA",
"NA"
)
)
そこにいると思います。 JMP には contains という文字関数があります。 上で示したように、これを大きなクラスのサンプル データ ファイルに使用できます。 文字関数のヘルプを参照してください。文字機能のヘルプ