2017-02-17 6 views
0

データストアに関する基本的な理解の問題があります。私はこの分野に新しいです。それはループの実装についてです。最初に、コネクタステージを使用して、選択されたクエリのいくつかの行を取得します。今度は、各行に対してさらにいくつかのステップを実行したいと思います。各行の結果は、今後の段階で変数として使用する必要があります。どうやってやるの?私は変圧器の段階でループの可能性を知っていますが、私の問題を解決するようではありません。データストア内の単純なループ

jopシーケンスのループステージで作業する必要がありますか?はいの場合はどうですか?

問題:

foreach($selectQueryResults as row) { 
// do something with the row-value 
} 

ありがとう!

+0

元のSQL文からパラメータを入力しようとしているようですね。 ルーチン内でリクエストを生成し、レスポンス(キー値のペアを使用している可能性があります)を渡し、そのようにパラメータを設定することを検討しましたか? 初心者の方には、基本的なBASICコードと、パラメタを更新するためのDataStage関数を理解する必要があるため、これは非常に複雑な作業です。 –

+0

こんにちは、ヒントありがとうございます。しかし、簡単な例を私に見せてもらえますか? – binf

答えて

0

私はもうDataStageにアクセスできず、かつて私が持っていたコードもありません。

これは、次のようにあなたのタスクを達成することは、日常の活動は以下のようになりしかし仕事のレベル

のステージ変数を伝播することです。変数

  • 使用DSExecuteとして

    1. 伝播SQLコマンドライン機能を実行するために(SQLPlusを、nzsqlまたはいずれかあなたのコマンドラインがあるコールする)と別の変数にあなたのSQL変数を介して
    2. 戻り、それの結果を渡します
    3. この変数を使用すると、内容を最初に行で区切り、区切り文字でloop/for文を使用して区切ることができます。
    4. DSAttachJob機能を使って、特定のジョブのあなたのパラメータにキーと値のペアをマップするか、単に日常活動

    BASIC Language Reference

    DSSetParam

    からの出力として、それらを伝播するDSSetParamを使用して、

    それ以外の場合は、BASICルーチン内でエラー処理とコメントが重要であることを覚えておいてください。

    次に、これはステージv変圧器の中でariablesとそれがマスターされている非常に強力なツールです。

    ここでは、Transformerモデル内のステージ変数を定義し、出力を集計するためのドキュメントと例を示します。ステージ変数の順序は非常に重要であることに注意してください。あなたがあなたを得れば基本的にはとんでもない金額を行うことができます...、ステージ変数として入ってくる列を定義集約するために、これらのステージ変数を使用し、(文字列)を連結、分割、引くことができ、変圧器内

    TransformerLoops

    その周りに頭を下げる。

    これは、私があなたが探しているものかもしれないと思うので、まずトランスフォーマーの例を調べることをお勧めします。

    1つのトランスフォーマーステージですべてを完了する必要はないことを覚えておいてください。最初のトランスフォーマーで最初のクレンジングを行い、2番目の複雑なループを実行して、あなたのために。