スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力しますやあみんな。 私はのアドバイスに従っています文字列解析式およびファイルにデータを書き込むためのその他の参考文献は、主にチャンクテキストファイルに適用されますが、
Save Excel File()
Scripting Index の関数。 最後のパラメーターが何を意味するのか、または何をするのかわかりませんか? 説明されていません。 つまり、
Separate Rows for Each Cell Statistic( 1 )
これは重要ですか? このパラメーターが存在するかどうかに関係なく、指定した場所にあるファイルには何も書き込まれません。
私のスクリプトの大まかな概要は次のとおりです。
dt = Current Data Table();
c = Words(:ID, "_");
Write(c);
s = c[2] || "_" || c[3] || "_" || c[4] || "_" || c[5];
Write(s);
s << Save Excel File(
"$DOCUMENTS\temp.xlsx",
Separate Rows for Each Cell Statistic( 1 )
);
そのため、接頭辞を削除し、残りの 4 つの「単語ブロック」とそのアンダースコアを保持して、文字列連結を介して手動で追加しようとしています。 見る文字列と変数の連結文字列連結 "||" の場合参照。
とにかく、$DOCUMENTS\temp.xlsx にファイルが表示されません。
また、ターミナル、ウィンドウ、ログと呼ばれるものがエラーを表示しています
Subscript Range in access or evaluation of 'c[2]' , c[/*###*/2]
理由はわかりません。 私が含めた Write() ステートメントの結果として、文字列や列は出力されません。
したがって、基本的に何も機能していません。 スクエアワンだと思います!
みなさんが思いつくコツを教えてください。
乾杯、
マイク
データ表スクリプティングRe: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力する列関数にデータ テーブル ポインターを追加し、それが列のあるテーブルであることを確認します。
列(dt、:id)
複数のテーブルが開いている可能性があり、JMP は現在のテーブルを使用しようとしていますが、これは必要なテーブルではありません。
サブセットを作成すると、新しいテーブルのテーブル ポインターを取得できます。
dtSubset = dt<<サブセット(...);
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力するこれは素晴らしいフレームワークです。私が今特定した問題は非常に単純です。
私が扱っているテーブルは、テーブル全体の行のサブセットです。 そして、Column(:ID) に移動すると、列が見つかりません。つまり、
could not find column{3} in access or evaluation of 'Column' , Column/*###*/(dt:ID)これは本当に単純に思えますが、その理由はわかりません。 行のサブセットを使用しているためだと思いましたが、これを行う必要がありますが、ベーステーブルでスクリプトを試すことで、そうであるかどうかを確認できます。 一瞬...
いいえ、完全なデータ テーブルでも問題があるようです。
私のコラムを「見つける」ためのアドバイスはありますか?
マイケル
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力する
また、一般に、パラメーターまたは変数を受け入れる関数がある場合、列を渡すと、列に対して要素ごとに関数が実行されますか?
いいえ。通常、データ テーブルの行ごとに何かを評価する必要がある場合は、データ テーブルに数式列を作成するか、行ごとに()イテレータ。
JMP 16 で導入されたFor Each() JSLデータ構造を反復処理する関数:リスト、連想配列、または行列。
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力するまた、一般に、パラメーターまたは変数を受け入れる関数がある場合、列を渡すと、列に対して要素ごとに関数が実行されますか?
マイク
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力する返信ありがとうございます。 @ティエリー_S ! 私は現在、スクリプトレットと他のいくつかのことを試しています。
ほとんどの人にとって、これは非常に単純なことのように聞こえるかもしれませんが、単一の値の変数以上のものが関係している場合、デバッグ目的で出力を視覚化する最良の方法、つまり単一の列を新しいデータ テーブル (JSL のみを使用)、または列をログに出力するなど。
覚えていませんが、以前にこれを行ったことがあり、空白を描いているだけかもしれませんが、尋ねるのはちょっとばかげていると感じています。
再度、感謝します!
マイク
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力するExcelファイルの保存は、カテゴリー応答分析プラットフォームの特殊なケースだと思います追加のカテゴリ プラットフォーム オプション. データテーブルを Excel ファイルとして保存するには、<< Save(path) を使用するだけです。
現在、データ テーブルの最初の行から作成された文字列を 1 つだけ Excel ファイルに保存しようとしています。 保存する方法と内容に応じて、さまざまなオプションがあります。以下は、:ID 列の値が、最初の _ が削除される前の文字を含む新しい値に置き換えられるものです。
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("ID", Character, "Nominal", Set Values({"1_2_3_4_5_6", "2_3_4_5_6_7", "3_4_5_6_7_8"}))
);
Wait(1);
dt:ID << Set Each Value(
Substr(:ID, Contains(:ID, "_")+1)
);
dt << Save("$DOCUMENTS\test.xlsx");新しい値で新しい列を作成することもできますが、これはおそらくより良い方法です。
Re: スクリプト: 文字列のプレフィックスを削除し、変更された列を Excel ファイルに出力するやあ、
文字列を扱うとき、私は文字列固有の関数 (たとえば、Substitute ()、Munger ()、Right ()、Word()) を使用することを好む傾向があります。
したがって、あなたの場合、「_」文字の最初のインスタンスを含む IDS 文字列の最初の部分を削除する次の式をお勧めします。
Substitute( :IDS, Word( 1, :IDS, "_" ) || "_", "" )
一番、
TS