リストの列名を使用した「for each row」の使用<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな
ユーザー生成のテーブルをクリーンアップする方法に取り組んでいますが、問題が発生しています。コードは正しくコンパイルされますが、機能しません。
番号と名前の両方が不明な列(読み取り:複数、変数、ユーザーが手書き)を含むテーブルがあります。
単純な標準化を実行したいと考えています。たとえば、不要なスペースや大文字のエラーから値を磨きたいと考えています。
そこで、列名を含むリストを生成し、サイクルを設定し、その中に各行に を配置します。
コンパイルはできますが、動作しません。なにか提案を?コードはここにあります
user_page = open ("\user\page.csv", label(1));
full_list = user_page <<列名を取得(文字列);
for (i=1,i
sclmn = ":"||full_list ;
各行に対して (sclmn = トリム (sclmn));
各行に対して (sclmn = 小文字 (sclmn));
);
文字列の代わりに列参照を使用したり、Eval() を使用したり、いくつかのバリエーションを試しましたが、すべてコンパイルに失敗しました。 このレイアウトはコンパイルできる唯一のレイアウトですが、まだ動作しません。 誰かがその理由を理解するのを手伝ってくれますか?
Re: リストの列名で「各行」を使用するJMP スクリプト ガイドによると、「列のセル内の値にアクセスするには、常に列参照の添字を使用してください。」 あなたが指摘したように、角括弧なしで機能する例外もありますが、これがベストプラクティスのようです。
Re: リストの列名で「各行」を使用するありがとう、2番目のアプローチはうまくいきました。 (同じリストを別のことに使用するので、その方が良いと思います)
投稿する前にcolumn()を試しましたが、[]がないと機能しませんでした。
デバッガーも調べましたが、文字列ではなく列参照として正しくトレースされましたが、なぜ [] が必要なのかはまだわかりません。有線バージョンを使用している場合は、次のようにしましょう
各行に対して (:update_01 = トリム (:update_01));
[] がなくても機能しますが、ヘルプや書籍にはそれに関する参照がないようです...
とにかく、今は機能します。ありがとう!
Re: リストの列名で「各行」を使用するコツは、JMP に sclmn を列として認識させることです。 現在のスクリプトでは、sclmn は単なる文字列です。 また、ForEachRow() では、列変数の後に空のインデックス [ ] が必要になることがよくあります。
これを行うには次の 2 つの方法があります。
列名のリストから:
full_list =ユーザーページ<<列名の取得() ;
のために(私= 1 、私<= N 個のアイテム( full_list ) 、私++、
scmn = full_list [私】 ;
各行について( scmn [] =トリム( scmn [] ) ) ;
各行について( scmn [] =小文字( scmn [] ) ) ;
) ;
または、列名のリストを文字列として取得します。
full_list =ユーザーページ<<列名の取得(弦) ;
のために(私= 1 、私<= N 個のアイテム( full_list ) 、私++、
scmn =カラム( full_list [私】 ) ;
各行について( scmn [] =トリム( scmn [] ) ) ;
各行について( scmn [] =小文字( scmn [] ) ) ;
) ;