文字列での「Left」の使用やあ、
これは簡単なはずだと思いますが、理解するのに非常に多くの時間を費やしてしまいました。 より長いリスト(変更される可能性のある列名を参照)を含むより複雑なワークシートがありますが、私がやろうとしているのは、元のリストから「_Yield」という単語を削除して、他の場所で使用する新しいリストを作成することです。 以下の簡単な例。
名前のデフォルトは Here( 1 );
exurl = {"Test_Yield, Help_Yield"};
X = Left(exurl, Contains( exurl, "_Yield" ) - 1 );
このために、X = {"Test", "Help"} を取得したいのですが、X = exurl を取得するだけです
自動化とスクリプト作成Re: 文字列での「Left」の使用JMP16+ にアクセスできる場合は、Transform Each を使用するのに適しています。
</CODE><BR /><CODE class=" language-jsl">Names Default To Here(1);
exurl = {"Test_Yield", "Help_Yield"};
X = Transform Each({url}, exurl, Substitute(url, "_Yield", ""));
show(X); // X = {"Test", "Help"};
Re: 文字列での「Left」の使用やあ@影、
何と一緒に@JohnDMoore1代替手段として提案されていますが、これは素晴らしい方法ですが、別のオプションとして次のようなものもあります。
Names Default to Here(1);
exurl = {"Test_Yield", "Help_Yield"};
x={};
For(i=1, i<=NItems(exurl), i++,
x[i]=left(exurl[i], Contains(exurl[i], "_Yield")-1);
);Left コマンドがうまく機能しない原因の 1 つは、それが複数要素のリストであることだと思います。スクリプト索引にはリストを処理できると書かれていますが、実際にはその機能はないようです。 For ループは、出力変数をリストとして構築するのに役立ちます。 特に大規模なデータテーブルがあり、多くの列の名前を変更する必要がある場合など、この種のアプローチの方が柔軟な場合があります。
また、あなたが指定したサンプルURLに間違いがあると思います。 exurl={"Test_Yield, Help_Yield"} と書きましたが、これは単なる単一の文字列であり、リストではありません。 あなたが書こうとしていたのは exurl={"Test_Yield", "Help_Yield"} で、リスト内の要素を区切る追加の引用符とカンマが含まれていると思います。
お役に立てれば!、
DS
Re: 文字列での「Left」の使用こんにちは、ジョン、ご返信ありがとうございます。 それを試してみましたが、それでも X = excurl が発生します。
Re: 文字列での「Left」の使用このような状況では代理を使用する傾向があります
X = substitute(exurl,"_Yield","");