テーブルが存在する場合のみ連結する複数のテーブルを開いて連結するワークフローを作成しようとしています。直面している問題は、テーブルが使用可能かどうかわからないことです。例として、合計で最大 8 つのテーブルがあると仮定します。これらを table1、table2...table8 と呼びます。
作成したワークフローでは、すべてのテーブルが存在することを前提としていましたが、1 つまたはいくつかのテーブルを削除すると、テーブルが見つからないためエラーが発生します。
テーブルを開くステップでは、テーブルが存在するかどうかを確認するステップの前にアクションを追加することで解決策を見つけました。
試す(
データテーブル("table1");
テーブルが存在する = 1
,
テーブルが存在する = 0
);
ただし、利用可能なすべてのテーブルを連結しようとしているときに、同様のソリューションをどのように実装するかはわかりません。
自動化とスクリプトRe: テーブルが存在する場合のみ連結する私は次のようなものを使います
If(
Try( Data Table( "big class" ) << get name, "" ) != "" & Try(
Data Table( "air traffic" ) << get name,
""
) != "",
Data Table( "big class" ) << concatenate( Data Table( "air traffic" ) )
)
Re: テーブルが存在する場合のみ連結する翻訳者返信ありがとうございます。このコードは、「big class」テーブルがすでに開いている場合にのみ実行されるのではないですか? また、残りのテーブルについても、一度に 1 つの新しいテーブルを追加して、このプロセスを繰り返す必要があると思います。
PS: このコードを試してみましたが、「big class」テーブルが開かれていない場合は、別のテーブルを選択するように求められます。
Re: テーブルが存在する場合のみ連結するビッグクラス データ テーブルまたは航空交通データ テーブルのいずれかが開かれていない場合は何も起こらず、連結は行われません。両方のテーブルが開かれている場合は、テーブルが連結されます。
JMP 18 と JMP 14 でコードをテストしましたが、指定したとおりに動作します。連結を IF() 関数の仕様外に配置したのではないかと思います。
Re: テーブルが存在する場合のみ連結するやあ、アンドレイ。
そのスクリプトの実行時にテーブルを開くように要求された場合は、JMP ワークフロー内で実行していると思われます。ワークフローの赤い三角形からそのプロンプトをオフにして、「参照の置換を許可する」のチェックを外します。
https://www.jmp.com/support/help/en/18.1/index.shtml#page/jmp/workflow-builder-red-triangle-menu-options.shtml%23ww1170460