ワークフローを作成するときに、集計テーブルを作成するために tabulate を使用すると、自動的に「Untitle 1」という名前が付けられます。その結果、ワークフローを再度実行すると、新しく作成された集計テーブルの名前が「Untitle 2」になるため、ワークフローは Untilte1 を見つけることができず、手動で参照を指定する必要があります。新しいテーブルが多数ある場合は、間違いが頻繁に発生します。
ワークフローに新しいテーブルを自動的に認識させる方法はありますか? または、「テーブルにする」前に Tabulate でテーブルに「Untitle」という名前を直接付けることはできますか?
ありがとう!
Tabulate を使用するときに名前を決めることができますが、JSL を変更して行う必要があると思います (Output Table("tablename") を << Make Into Data Table に追加します)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Car Poll.jmp");
obj = dt << Tabulate(
Add Table(
Column Table(Grouping Columns(:sex, :marital status)),
Row Table(Grouping Columns(:country, :size))
)
);
dt = obj << Make Into Data Table(Output Table("My Table"));ワークフロー ビルダーは優れています。ユーザーは JSL スクリプトを一切知る必要がありません。
... テーブル名の競合という罠に直面するまで。
50% のケースでは、一致する名前のテーブルが存在せず、JMP によって尋ねられます。
一致する名前を持つテーブルがあり、それが間違っている場合に問題が発生します。
このトピックについては、この講演の Q&A で議論されています。
ワークフロー ビルダーまたはスクリプトへの「第一歩」
いくつかの「回避策」があります:
最も簡単なもの (#4b) - @jthi の例に従います。
JSL を少し使用して、テーブル参照を「 dt 」として保存します。その後、他のすべてのワークフロー ステップでもdtを使用します。
注意: 「出力テーブル」を指定すると、衝突が発生するまで機能し、衝突が発生すると「Untitled」は「Untitled 2」になります。
その他のアプローチ:
#1 巻き戻しアイコンを使用する

...すべてのデータ テーブルを閉じると、新しく生成されたテーブルは再び「無題」になります。
-> 堅牢な解決策がない
Untitledというオープンデータテーブルがあり、ユーザーがワークフローを実行しようとすると、このアプローチは失敗します。
#2:保存
データ テーブルを作成したら、特定の名前を付けて保存します。保存したデータ テーブルを使用して、追加の手順を記録します。
素晴らしい: 「保存」を使用すると、テーブル名が競合している場合でも、JMP は「2」を追加しません。
毎回同じ一時ファイルを使用して上書きするだけです。
良くはないですが、非常に効果的です!!
@Zoe_Betteridgeによる JMP ワークフロー ビルダーを使用した分析の自動化
#3: JMP18以降の新機能: for eachループを使用する
ネストされたワークフロー ステップ内のすべてのテーブル名を、インポート ステップのテーブル名に置き換えます (N=1 の場合も機能します)。
https://community.jmp.com/t5/Benelux-JMP-Users-Group/Workflow-Builder-or-the-quot-baby-steps-quot-into-Scripting/mp/739486/highlight/true#M7
#4: JSLを少し使って: すべてのワークフローステップでテーブル名参照を削除する
// for workflow steps like
// Data Table("mytable") << command (...);
// just remove the data table and get:
command( ... )[残念ながら、このアプローチが失敗する例外がいくつかあります]。
#4b: コードを変更し、変数をデータテーブルの参照として使用する
インポート手順:
// add "dt ="
dt = open( ...);
後続のワークフロー手順:
// replace:
// Data Table("mytable") << command (...)
// with
dt << command( ...)
JMPの将来のバージョンでは、ユーザーがこの罠に陥るのを自動的に防ぐワークフロービルダーが搭載されることを期待しています。
- データ テーブルが作成されると、Worklow Builder はデータ テーブルを参照するための適切な変数名を要求する場合があります。
- ワークフロービルダーのボタン:
データテーブル参照をテーブル名で置き換える -> データテーブル参照を変数で置き換える
オプション 4b に基づいて、問題を自動的に修正するための投稿がウィッシュ リストにあります。
アクションレコーダーが単純な変数名を参照として使用できるようにする