2

定義したパラメーターの値を変更する方法と、Clover ETL の REFORMAT コンポーネントを使用して新しいパラメーターを動的に作成する方法を見つけようとしています。

再フォーマット コンポーネントが提供する変換メソッドに小さなロジックを記述しました。

        function integer transform() {
            string myparam1 = getParamValue("MY_PARAM1");
            string changeParam = getParamValue("CHANGE_PARAM_VALUE");

            if(changeParam =="true"){
                myparam1 = myparam1 +"_changed";
            }
       // update the value of parameter MY_PARAM1     
       // updateParameter("MY_PARAM1", myparam1 );  

       // create a new parameter
       // createNewParameter("MY_NEW_PARAM", "some_sample_data"); 

            return OK;
        }

クローバーデザイナーから利用可能なメソッドを確認しようとしましたが、探している機能を提供するのに役立つ関連メソッドが見つかりませんでした.

私は Clover ETL を初めて使用するので、これを達成する方法に問題があります。REFORMAT コンポーネントを使用してこれを達成できるかどうか、または別のコンポーネントを使用する必要があるかどうかを助けてください。

4

2 に答える 2

2

CloveETL のパラメーターは静的な方法で使用されるため、パラメーターの値を変更することはできません (簡単な方法では、Java とグラフのモデルを使用して直接アクセスする方法があるかもしれませんが、これはおそらく必要ではありません)。グラフのコンパイル中に解決され、結果の値に置き換えられます。

動的変数が必要な場合は、辞書http://doc.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/using-dictionary.html?resultof=%22%64%をご覧ください。 69%63%74%69%6f%6e%61%72%79%22%20

ただし、その辞書はパラメーターの完全な代替品ではないことを考える必要があります。パラメータの静的な使用には、辞書に置き換えることができないいくつかのポイント、使用場所があります。

ところで、グラフの実行中にパラメータ値を変更する必要があるのはなぜですか? ユースケースを説明してください。多分私はあなたにいくつかの指針を与えることができます...

于 2013-12-27T17:42:42.447 に答える