JMPライブデータテーブル更新スクリプト(クエリビルダーから)これは、JMP のライブデータテーブル更新スクリプトに関する質問です。具体的には、クエリビルダーを使用して JMP のデータベースに接続し、ポストクエリスクリプトを実行する際に生成されるソーススクリプトに関する質問です。
@LuizaFabretiと私はいくつかの例を試してみましたが、JMP Live の PostQueryScript で何が実行され、何が実行されないのか (何が無視されるのか) は明確ではありません。
どちらの場合も、PostQueryScript は、2 つの列 (薬剤 ID と説明) を連結して新しい列を作成する新しい数式列を追加しています。
これを見たことがある人はいますか?何かアドバイスがあれば教えてください。
@dieterpisot
@Alex_Lippincott
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーから)私の知る限り、JMP Live は PostQueryScript を JMP と何ら違いなく扱います。JMP で更新スクリプトを実行してみましたか?JMP では正常に動作しますか?
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーより)また、2番目と3番目のスクリプトでも、次のようなエラーが発生しています。
Name Unresolved: New Formula Column in access or evaluation of 'New Formula Column' , New Formula Column(
Operation( Category( "Character" ), "Concatenate with Space" ),
Columns( :Drug ID, :Description )
) /*###*/
at line 1
Data Table( "Stability_Data_Stacked 2" )
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーから)私の経験も似ています。うまくいく時もあれば、うまくいかない時もあります。`NewColumn()` は機能しますが、それ以上の複雑な処理はクエリの外で JSL で行うことをお勧めします。何がサポートされているのかはよくわかりませんが、ポストクエリ スクリプトはあまり良くないと思います。
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーより)何もテストしていませんが、後で使用したい列が、インタープリタがスクリプトの残りの部分を処理する前に実際に作成されているかどうかを確認する必要がある場合があります。これは、テーブル名、作成された列名、および操作対象となる行の検索や選択などを参照する場合に最もよく発生する問題です。
wait() または wait(2) を使って、これがエラーの原因かどうかを確認すると良いでしょう。もしそうであれば、コード構造を変更したり、パフォーマンスが低下していない限り wait() コマンドをスクリプトに残したり、代替案を検討したりする必要があるかもしれません。
ポストクエリスクリプトでのテーブル操作は少々難しいため、データテーブルの管理はフェッチ自体ではなく、テーブルが作成された直後のリフレッシュスクリプトで行うことをお勧めします。
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーより)以下の内容に関連する.jmpqueryファイルを添付しました。どちらもJMPで正常に動作します。
ボルチモア向けの発見論文があり、そこでアレックスの提案を実行する予定です。JMP Liveに投稿する前に、Post-Queryスクリプトの外に処理を移動させるか、データ更新スクリプトを作成する際に(ソーススクリプトに頼るのではなく)最初からやり直すというものです。
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーより)2つ目の.jmpqueryファイルのアップロードに問題が発生していますが、試してみたい場合はメールでお送りします。
唯一の違いは、クエリ後のスクリプトです(JMP Liveでは、列は作成されますが移動されません)。
// 新しい列: 薬剤ID、説明
データテーブル("Stability_Data_Stacked") << 新しい列("薬剤ID、説明",
キャラクター、
「名目上」
式( Char( :薬剤ID ) || " " || :説明 )
) << 選択した列を移動( {:"薬剤ID、説明"n}、後( :説明 ) ) <<
数式を実行する。
件名:JMPライブデータテーブル更新スクリプト(クエリビルダーより)マーティンの推測はかなり的確だと思います。何らかのタイミングの問題でしょう。PostQueryScriptが非同期で実行され、ポストクエリが完了する前にSQLクエリがスクリプトに返されてしまう可能性があります。JMP Live JMPセッションは待機する必要があることを認識しておらず、ポストクエリが完了する前にテーブルを返してしまうのです。ポストクエリが完了するまで待機する処理を追加するのが、おそらく良い回避策でしょう。