式エディタ
式エディタで式を作成するには、フィールド、関数、および演算子を使用します。
値[計算式]をフィールドに割り当てる場合は、データの取得元となるフィールドの計算式または式を作成する必要があります。式を作成するには、式エディタを使用します。
次の図では、フィールド[str]および[str2]に値[計算式]があります。
式エディタを開くには、値[計算式]フィールドの横にあるf (x)をクリックします。
次の図は、[式エディタ]ダイアログボックスを示しています。
式エディタには、次のセクションがあります。
- •セクション1、[フィールド]セクション。定義した入力、出力、および一時フィールドの一覧がここに表示されます。
- •セクション2、[関数]セクション。ここでは、一般的なXQuery関数の一覧が表示されます。意味を表示する関数を選択します。
- •セクション3、[演算子]セクション。式の作成に使用できる演算子の一覧がここに表示されます。
- •セクション4、[式]セクション。作成した式がここに表示されます。使用する条件と演算子では、大文字と小文字が区別されます。
図に示す式は、並行して実行される3つのタスクが成功した場合に、一時フィールド[合計ステータス]をPassと定義します。
次に、タスクフローは、データ決定ステップで[合計ステータス]を使用します。[合計ステータス]の値がPassである場合、タスクフローは別のデータタスクを実行します。[合計ステータス]の値がFailである場合には、タスクフローは終了します。
次の図は、[合計ステータス]を使用するタスクフローを示しています。
式を作成するには、次のオプションを使用します。
- •フィールドを追加するには、[フィールド]タブをクリックし、使用するフィールドにドリルダウンして、[追加]をクリックします。
- •演算子を追加するには、[演算子]セクションで演算子をクリックします。演算子を手動で入力することもできます。例えば、If演算子を手動で入力します。
- •関数を追加するには、[関数]タブをクリックし、使用する関数をドリルダウンして[追加]をクリックします。
- •コメントを追加するには、(:<comment>:)という構文[式]セクションにコメントを入力します。
例えば、(:This is a sample comment:)と入力します。
コメントを使用すると、式に関する説明を付記できます。または、式に関連するビジネスドキュメントにアクセスするURLを指定できます。
式エディタは、入力した式を検証します。無効な式は保存できません。
ヒント: XQuery 3.0を使用した式の作成
XQueryバージョン3.0を使用して、式エディタで式を作成します。このトピックの例では、単一のステートメントと複数のステートメントのXQuery式を作成するために使用する、構文と要素について示します。
単一ステートメントの式
次の式は、単一のステートメント式です。
concat("Hello"," ",$input.n1)
以下の注記では、この式の各部分を説明しています。
- •concatは、2つ以上の値を1つの文字列に結合する関数です。
- •"hello"、" " $input.n1は、関数concatのパラメータです。
- - "hello"は文字列です。常に引用符で文字列を囲みます。一重引用符または二重引用符のどちらを使用してもかまいません。ただし、式内で同じスタイルを使用するようにしてください。
- - n1は入力変数です。式に追加すると、式エディタによって$input.n1に変換されます。変数の先頭には、常に$を付けます。変数の周囲には引用符を追加しないでください。
- - パラメータ" "はスペースを表します。
- •パラメータはかっこで囲みます。
- •パラメータはコンマで区切ります。
$n1の値が「World」であるとします。
以下を実行するとします。
concat("Hello", " ",$input.n1)
出力は以下のようになります。
Hello World
マルチステートメント式
次の式は、マルチステートメント式です。
let $n1 := number($input.n1)
let $n2 := number($input.n2)
let $r1 := if ($n1 > $n2)
then "Greater: N1 > N2"
else if ($n1 < $n2)
then "Less: N1 < N2"
else "Same"
return $r1
以下の注記では、この式の各部分を説明しています。
- •最初に、変数$n1と$n2を宣言します。演算子:=を使用して、値を割り当てます。
注: $n1および$n2を割り当てステップで整数として定義した場合でも、式エディタで数値として宣言する必要があります。
- •let、if、then、およびelseなどのXQueryキーワードを使用できます。これらは大文字小文字を区別します。
重要: letをキーワードとして式を開始する場合は、キーワードreturnを使用して式を終了する必要があります。
- •次のルールを使用して、$r1という3番目の変数の値を定義するには、式エディタを使用します。
- - $n1の値が$n2の値よりも大きい場合、$r1は値Greater: N1 > N2を受け取ります。
- - $n1の値が$n2の値よりも小さい場合、$r1は値Less: N1 < N2を受け取ります。
- - $n1の値と$n2の値が同じである場合、$r1は値Sameを受け取ります。
$n1の値が20であり、$n2の値が250であると想定します。
以下を実行するとします。
let $n1 := number($input.n1)
let $n2 := number($input.n2)
let $r1 := if ($n1 > $n2)
then "Greater: N1 > N2"
else if ($n1 < $n2)
then "Less: N1 < N2"
else "Same"
return $r1
出力は以下のようになります。
Less: N1<N2
ここで、$r1は次の値を持ちます。
Less: N1<N2
キーボードショートカット
式を作成するときに、キーボードショートカットを使用できます。
キーボードショートカットを使用するには、[式]セクション内にポインタを置きます。
以下のキーボードショートカットを利用できます。
アクション | ショートカット |
---|
元に戻す | Ctrl+Z |
やり直し | Ctrl+Y |
コピー | Ctrl+C |
切り取り | Ctrl+X |
貼り付け | Ctrl+V |
検索 | Ctrl+F |
4スペース分をインデント | Tab |
使用可能な変数の一覧を表示 | $ |
コード補完、つまり、使用可能な挿入の一覧を表示します。挿入には、名前空間、関数、フィールド、または一般的なコードフラグメントがあります。。 | Ctrl+スペース |