次の方法で共有


Microsoft Fabric の Data Factory の式と関数

この記事では、Microsoft Fabric の Data Factory でサポートされる式と関数について詳しく説明します。

Expressions

定義内の式の値には、リテラルまたは実行時に評価される式を指定できます。 例えば次が挙げられます。

"value"

又は

"@pipeline().parameters.password"

式は文字列値の任意の場所に表示でき、常に別の文字列値になります。 値が式の場合、式の本文はアットマーク (@) を削除することによって抽出されます。 @で始まるリテラル文字列が必要な場合は、@@を使用してエスケープする必要があります。 次の例は、式の評価方法を示しています。

式の値 結果
"parameters" 文字 'parameters' が返されます。
"parameters[1]" 文字 'parameters[1]' が返されます。
"@@" '@' を含む 1 文字の文字列が返されます。
" @" '@' を含む 2 文字の文字列が返されます。

式は文字列 補間と呼 ばれる機能を使用して文字列内に表示することもでき、式は @{ ... }でラップされます。 例: "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"

文字列補間を使用すると、結果は常に文字列になります。 myNumber42myStringfooとして定義したとします。

式の値 結果
"@pipeline().parameters.myString" 文字列として foo を返します。
"@{pipeline().parameters.myString}" 文字列として foo を返します。
"@pipeline().parameters.myNumber" 数値として 42 を返 します
"@{pipeline().parameters.myNumber}" 文字列として 42 を返 します
"Answer is: @{pipeline().parameters.myNumber}" 文字列 Answer is: 42を返します。
"@concat('Answer is: ', string(pipeline().parameters.myNumber))" 文字列を返します。 Answer is: 42
"Answer is: @@{pipeline().parameters.myNumber}" 文字列 Answer is: @{pipeline().parameters.myNumber}を返します。

ForEach アクティビティなどの制御フロー アクティビティでは、プロパティ項目に対して反復処理される配列を提供し、 @item() を使用して ForEach アクティビティの単一の列挙体を反復処理できます。 たとえば、項目が配列 [1, 2, 3] の場合、 @item() は最初のイテレーションで 1、2 番目のイテレーションでは 2、3 番目のイテレーションでは 3 を返します。 式などの @range(0,10) を使用して、0 で終わる 9 から 10 回繰り返すこともできます。

@activity('activity name') を使用して、アクティビティの出力をキャプチャし、決定を行うことができます。 Web1 という Web アクティビティについて考えてみましょう。 2 番目のアクティビティの本文に最初のアクティビティの出力を配置する場合、式は通常、 @activity('Web1').output または @activity('Web1').output.data、または最初のアクティビティの出力の外観に応じて類似したもののようになります。

例示

複合式の例

次の例は、アクティビティ出力の深いサブフィールドを参照する複雑な例を示しています。 サブフィールドに評価されるパイプライン パラメーターを参照するには、アクティビティ出力の一部として、dot(.) 演算子の代わりに (サブフィールド 1 およびサブフィールド 2 の場合と同様) [] 構文を使用します。

@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*

ファイルを動的に作成し、名前を付けるのは一般的なパターンです。 いくつかの動的ファイルの名前付けの例を見てみましょう。

  • ファイル名に日付を追加する: @concat('Test_', formatDateTime(utcnow(), 'yyyy-dd-MM'))
  • 顧客のタイムゾーンに DateTime を追加します。 @concat('Test_', convertFromUtc(utcnow(), 'Pacific Standard Time'))
  • トリガー時間の追加: @concat('Test_', pipeline().TriggerTime)
  • 日付を含む 1 つのファイルに出力するときに、マッピング データ フローにカスタム ファイル名を出力します。 'Test_' + toString(currentDate()) + '.csv'

上記の場合、Test_以降に 4 つの動的ファイル名が作成されます。

動的コンテンツ エディター

編集が完了すると、動的コンテンツ エディターによってコンテンツ内の文字が自動的にエスケープされます。 たとえば、コンテンツ エディターの次のコンテンツは、式関数を使用した文字列補間です。

"@{toUpper('myData')}"

動的コンテンツ エディターは、上記のコンテンツを式 "@{toUpper('myData')}"に変換します。 この式の結果は、次に示す書式設定された文字列です。

"MYDATA"

特殊文字の置換

動的コンテンツ エディターでは、編集が完了すると、コンテンツの二重引用符、円記号などの文字が自動的にエスケープされます。 これにより、replace() 関数で \t\nを使用して改行またはタブを置き換える場合に問題が発生します。 コード ビューで動的コンテンツを編集して式内の余分な \ を削除するか、または次の手順に従って式言語を使用して特殊文字を置き換えることができます。

  1. 元の文字列値に対する URL エンコード
  2. URL でエンコードされた文字列 (たとえば、改行 (%0A) 、復帰 (%0D)、水平タブ (%09) を置き換えます。
  3. URL デコード

たとえば、値に改行文字を含む変数 companyName 、式 @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', '')) 、改行文字を削除できます。

Contoso- Corporation

単一引用符文字のエスケープ

式関数は、文字列値パラメーターに単一引用符を使用します。 文字列関数の ' 文字をエスケープするには、2 つの単一引用符を使用します。 たとえば、式 @concat('Baba', '''s ', 'book store') は次の結果を返します。

Baba's book store

パイプライン スコープ変数

これらのシステム変数は、パイプライン内の任意の場所で参照できます。

変数名 Description
@pipeline().DataFactory パイプライン実行が実行されているワークスペースの ID
@pipeline().Pipeline パイプラインの ID
@pipeline().PipelineName パイプラインの名前
@pipeline().RunId 特定のパイプライン実行の ID
@pipeline().TriggerId パイプラインを呼び出したトリガーの ID
@pipeline().TriggerName パイプラインを呼び出したトリガーの名前
@pipeline().TriggerTime パイプラインを呼び出したトリガー実行の時刻。 これは、トリガーが 実際に 発生してパイプラインの実行を呼び出す時刻であり、トリガーのスケジュールされた時刻とは若干異なる場合があります。
@pipeline().GroupId パイプライン実行が属するグループの ID。
@pipeline()?.TriggeredByPipelineName パイプラインの実行をトリガーするパイプラインの名前。 ExecutePipeline アクティビティによってパイプラインの実行がトリガーされたときに適用されます。 他の状況で使用する場合は Null に評価されます。 後の疑問符に注意してください @pipeline()
@pipeline()?.TriggeredByPipelineRunId パイプラインの実行をトリガーするパイプラインの実行 ID。 ExecutePipeline アクティビティによってパイプラインの実行がトリガーされたときに適用されます。 他の状況で使用する場合は Null に評価されます。 後の疑問符に注意してください @pipeline()

トリガー関連の日付/時刻システム変数 (パイプラインスコープとトリガー スコープの両方) は、などの ISO 8601 形式で UTC 日付を返します。

Functions

式内で関数を呼び出すことができます。 次のセクションでは、式で使用できる関数に関する情報を提供します。

日付関数

日付または時刻関数 Task
addDays タイムスタンプに日数を追加します。
addHours タイムスタンプに時間数を追加します。
addMinutes タイムスタンプに分数を追加します。
addSeconds タイムスタンプに秒数を追加します。
addToTime タイムスタンプに時間単位の数を追加します。 getFutureTime も参照してください。
convertFromUtc タイムスタンプを協定世界時 (UTC) からターゲット タイム ゾーンに変換します。
convertTimeZone タイムスタンプをソース タイム ゾーンからターゲット タイム ゾーンに変換します。
convertToUtc タイムスタンプをソース タイム ゾーンから協定世界時 (UTC) に変換します。
dayOfMonth タイムスタンプから月の日コンポーネントを返します。
dayOfWeek タイムスタンプから曜日コンポーネントを返します。
dayOfYear タイムスタンプから年の日コンポーネントを返します。
formatDateTime タイムスタンプを省略可能な形式の文字列として返します。
getFutureTime 現在のタイムスタンプと指定した時間単位を返します。 addToTime も参照してください。
getPastTime 現在のタイムスタンプから指定した時間単位を引いた値を返します。 subtractFromTime も参照してください。
startOfDay タイムスタンプの日の始まりを返します。
startOfHour タイムスタンプの時間の先頭を返します。
startOfMonth タイムスタンプの月の始まりを返します。
subtractFromTime タイムスタンプから時間単位の数を減算します。 getPastTime も参照してください。
ダニ 指定したタイムスタンプの ticks プロパティ値を返します。
utcNow 現在のタイムスタンプを文字列として返します。

文字列関数

文字列を操作するには、これらの文字列関数と一部の コレクション関数を使用できます。 文字列関数は文字列でのみ機能します。

String 関数 Task
concat 2 つ以上の文字列を結合し、結合された文字列を返します。
endsWith 文字列が指定した部分文字列で終わるかどうかを確認します。
GUID(グローバルユニーク識別子) グローバル一意識別子 (GUID) を文字列として生成します。
indexOf 部分文字列の開始位置を返します。
lastIndexOf 部分文字列の最後の出現位置の開始位置を返します。
replace 部分文字列を指定した文字列に置き換え、更新された文字列を返します。
割る 元の文字列内の指定した区切り文字に基づく大きな文字列から、コンマで区切られた部分文字列を含む配列を返します。
startsWith 文字列が特定の部分文字列で始まるかどうかを確認します。
サブスト リング 指定した位置から始まる文字列から文字を返します。
toLower 小文字の形式で文字列を返します。
toUpper 大文字の形式で文字列を返します。
刈る 文字列から先頭と末尾の空白を削除し、更新された文字列を返します。

コレクション関数

コレクション、一般に配列、文字列、場合によってはディクショナリを操作するには、これらのコレクション関数を使用できます。

コレクション関数 Task
含む コレクションに特定の項目があるかどうかを確認します。
コレクションが空かどうかを確認します。
まずは コレクションから最初の項目を返します。
交差点 指定したコレクションの共通項目 のみを 含むコレクションを返します。
接続 指定した文字で区切られた配列 のすべての 項目を含む文字列を返します。
最後 コレクションから最後の項目を返します。
長さ 文字列または配列内の項目数を返します。
スキップ コレクションの先頭から項目を削除し、 他のすべての項目を 返します。
take コレクションの先頭から項目を返します。
組合 指定したコレクション のすべての 項目を含むコレクションを返します。

論理関数

これらの関数は、条件内で役立ち、任意の種類のロジックを評価するために使用できます。

論理比較関数 Task
and すべての式が true かどうかを確認します。
イコール 両方の値が等しいかどうかを確認します。
最初の値が 2 番目の値より大きいかどうかを確認します。
greaterOrEquals 最初の値が 2 番目の値以上かどうかを確認します。
もし 式が true か false かを確認します。 結果に基づいて、指定した値を返します。
レス 最初の値が 2 番目の値より小さいかどうかを確認します。
lessOrEquals 最初の値が 2 番目の値以下かどうかを確認します。
いいえ 式が false かどうかを確認します。
または 少なくとも 1 つの式が true かどうかを確認します。

変換関数

これらの関数は、言語の各ネイティブ型間の変換に使用されます。

  • 文字列
  • 整数
  • float
  • ブーリアン
  • 配列
  • 辞書
変換関数 Task
array 指定した 1 つの入力から配列を返します。 複数の入力については、 createArray を参照してください。
base64 文字列の base64 でエンコードされたバージョンを返します。
base64ToBinary base64 でエンコードされた文字列のバイナリ バージョンを返します。
base64ToString base64 でエンコードされた文字列の文字列バージョンを返します。
バイナリ 入力値のバイナリ バージョンを返します。
bool 入力値のブールバージョンを返します。
合体 1 つ以上のパラメーターから最初の null 以外の値を返します。
createArray 複数の入力から配列を返します。
dataUri 入力値のデータ URI を返します。
dataUriToBinary データ URI のバイナリ バージョンを返します。
dataUriToString データ URI の文字列バージョンを返します。
decodeBase64 base64 でエンコードされた文字列の文字列バージョンを返します。
decodeDataUri データ URI のバイナリ バージョンを返します。
decodeUriComponent エスケープ文字をデコードされたバージョンに置き換える文字列を返します。
encodeUriComponent URL アンセーフ文字をエスケープ文字に置き換える文字列を返します。
float 入力値の浮動小数点数を返します。
int 文字列の整数バージョンを返します。
文字列 入力値の文字列バージョンを返します。
uriComponent URL アンセーフ文字をエスケープ文字に置き換えて、入力値の URI でエンコードされたバージョンを返します。
uriComponentToBinary URI でエンコードされた文字列のバイナリ バージョンを返します。
uriComponentToString URI でエンコードされた文字列の文字列バージョンを返します。
xml 文字列の XML バージョンを返します。
xpath XPath (XML パス言語) 式に一致するノードまたは値を XML で確認し、一致するノードまたは値を返します。

数学関数

これらの関数は、 整数浮動小数点数のいずれかの型に使用できます。

数学関数 Task
add 2 つの数値を追加した結果を返します。
div 2 つの数値を除算した結果を返します。
マックス 数値のセットまたは配列から最大値を返します。
数値または配列のセットから最小値を返します。
mod 2 つの数値を除算した剰余を返します。
mul 2 つの数値を乗算して積を返します。
ランド 指定した範囲からランダムな整数を返します。
範囲 指定した整数から始まる整数配列を返します。
サブ 最初の数値から 2 番目の数値を減算した結果を返します。

関数リファレンス

このセクションでは、使用可能なすべての関数をアルファベット順に一覧表示します。

add

2 つの数値を追加した結果を返します。

add(<summand_1>, <summand_2>)
パラメーター 必須 タイプ Description
< summand_1>、 <summand_2> イエス 整数、浮動小数点数、または混合 追加する数値
戻り値 タイプ Description
< result-sum> 整数または浮動小数点数 指定した数値を追加した結果

この例では、指定した数値を追加します。

add(1, 1.5)

次の結果が返されます。 2.5

addDays

タイムスタンプに日数を追加します。

addDays('<timestamp>', <days>, '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< > イエス 整数 加算する正または負の日数
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプに指定した日数を加算した値

例 1

この例では、指定したタイムスタンプに 10 日を加算します。

addDays('2018-03-15T13:00:00Z', 10)

次の結果が返されます。 "2018-03-25T00:00:0000000Z"

例 2

この例では、指定したタイムスタンプから 5 日を減算します。

addDays('2018-03-15T00:00:00Z', -5)

次の結果が返されます。 "2018-03-10T00:00:0000000Z"

addHours

タイムスタンプに時間数を追加します。

addHours('<timestamp>', <hours>, '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 時間> イエス 整数 加算する正または負の時間数
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプに指定された時間数を加算した値

例 1

この例では、指定したタイムスタンプに 10 時間を追加します。

addHours('2018-03-15T00:00:00Z', 10)

次の結果が返されます。 "2018-03-15T10:00:0000000Z"

例 2

この例では、指定したタイムスタンプから 5 時間を減算します。

addHours('2018-03-15T15:00:00Z', -5)

次の結果が返されます。 "2018-03-15T10:00:0000000Z"

addMinutes

タイムスタンプに分数を追加します。

addMinutes('<timestamp>', <minutes>, '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 議事録> イエス 整数 加算する正または負の分数
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプに指定した分数を加算した値

例 1

この例では、指定したタイムスタンプに 10 分を追加します。

addMinutes('2018-03-15T00:10:00Z', 10)

次の結果が返されます。 "2018-03-15T00:20:00.0000000Z"

例 2

この例では、指定したタイムスタンプから 5 分を減算します。

addMinutes('2018-03-15T00:20:00Z', -5)

次の結果が返されます。 "2018-03-15T00:15:00.0000000Z"

addSeconds

タイムスタンプに秒数を追加します。

addSeconds('<timestamp>', <seconds>, '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< お代わり> イエス 整数 加算する正または負の秒数
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプに指定した秒数を加算した値

例 1

この例では、指定したタイムスタンプに 10 秒を追加します。

addSeconds('2018-03-15T00:00:00Z', 10)

次の結果が返されます。 "2018-03-15T00:00:10.0000000Z"

例 2

この例では、指定したタイムスタンプまで 5 秒を減算します。

addSeconds('2018-03-15T00:00:30Z', -5)

次の結果が返されます。 "2018-03-15T00:00:25.0000000Z"

addToTime

タイムスタンプに時間単位の数を追加します。 getFutureTime()も参照してください。

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< > イエス 整数 追加する指定した時間単位の数
< timeUnit> イエス String 間隔で使用する時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプに指定された時間単位数を加算した値

例 1

この例では、指定したタイムスタンプに 1 日を追加します。

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

次の結果が返されます。 "2018-01-02T00:00:00.0000000Z"

例 2

この例では、指定したタイムスタンプに 1 日を追加します。

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

オプションの "D" 形式を使用して結果を返します。 "Tuesday, January 2, 2018"

そして

両方の式が true かどうかを確認します。 両方の式が true の場合は true を返し、少なくとも 1 つの式が false の場合は false を返します。

and(<expression1>, <expression2>)
パラメーター 必須 タイプ Description
< expression1>, <expression2> イエス ブール値 チェックする式
戻り値 タイプ Description
true または false ブール値 両方の式が true の場合は true を返します。 少なくとも 1 つの式が false の場合は false を返します。

例 1

次の例では、指定したブール値が両方とも true かどうかを確認します。

and(true, true)
and(false, true)
and(false, false)

次の結果が返されます。

  • 最初の例: 両方の式が true であるため、 trueを返します。
  • 2 番目の例: 1 つの式が false であるため、 falseを返します。
  • 3 番目の例: 両方の式が false であるため、 falseを返します。

例 2

次の例では、指定した式が両方とも true かどうかを確認します。

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

次の結果が返されます。

  • 最初の例: 両方の式が true であるため、 trueを返します。
  • 2 番目の例: 1 つの式が false であるため、 falseを返します。
  • 3 番目の例: 両方の式が false であるため、 falseを返します。

アレイ

指定した 1 つの入力から配列を返します。 複数の入力については、 createArray()を参照してください。

array('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 配列を作成するための文字列
戻り値 タイプ Description
[<value>] Array 指定された 1 つの入力を含む配列

この例では、"hello" 文字列から配列を作成します。

array('hello')

次の結果が返されます。 ["hello"]

base64

文字列の base64 でエンコードされたバージョンを返します。

base64('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 入力文字列
戻り値 タイプ Description
< base64-string> String 入力文字列の base64 でエンコードされたバージョン

この例では、"hello" 文字列を base64 でエンコードされた文字列に変換します。

base64('hello')

次の結果が返されます。 "aGVsbG8="

base64ToBinary

base64 でエンコードされた文字列のバイナリ バージョンを返します。

base64ToBinary('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する base64 でエンコードされた文字列
戻り値 タイプ Description
< binary-for-base64-string> String base64 でエンコードされた文字列のバイナリ バージョン

この例では、"aGVsbG8=" base64 でエンコードされた文字列をバイナリ文字列に変換します。

base64ToBinary('aGVsbG8=')

次の結果が返されます。

"0110000101000111010101100111001101100010010001110011100000111101"

base64ToString

base64 でエンコードされた文字列の文字列バージョンを返し、base64 文字列を効果的にデコードします。 decodeBase64()ではなく、この関数を使用します。 どちらの関数も同じように動作しますが、 base64ToString() することをお勧めします。

base64ToString('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String デコードする base64 でエンコードされた文字列
戻り値 タイプ Description
< decodeed-base64-string> String base64 でエンコードされた文字列の文字列バージョン

この例では、"aGVsbG8=" base64 でエンコードされた文字列を文字列のみに変換します。

base64ToString('aGVsbG8=')

次の結果が返されます。 "hello"

binary

文字列のバイナリ バージョンを返します。

binary('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する文字列
戻り値 タイプ Description
< binary-for-input-value> String 指定した文字列のバイナリ バージョン

この例では、"hello" 文字列をバイナリ文字列に変換します。

binary('hello')

次の結果が返されます。

"0110100001100101011011000110110001101111"

ブール (bool)

値のブールバージョンを返します。

bool(<value>)
パラメーター 必須 タイプ Description
< 価値> イエス [任意] 変換する値
戻り値 タイプ Description
true または false ブール値 指定した値のブールバージョン

次の例では、指定した値をブール値に変換します。

bool(1)
bool(0)

次の結果が返されます。

  • 最初の例: true
  • 2 番目の例: false

結合する

1 つ以上のパラメーターから最初の null 以外の値を返します。 空の文字列、空の配列、および空のオブジェクトは null ではありません。

coalesce(<object_1>, <object_2>, ...)
パラメーター 必須 タイプ Description
< object_1>、 <object_2>、... イエス Any、can mix types null をチェックする 1 つ以上の項目
戻り値 タイプ Description
< first-non-null-item> [任意] null ではない最初の項目または値。 すべてのパラメーターが null の場合、この関数は null を返します。

これらの例では、指定した値から最初の null 以外の値が返されます。すべての値が null の場合は null が返されます。

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

次の結果が返されます。

  • 最初の例: true
  • 2 番目の例: "hello"
  • 3 番目の例: null

concat

2 つ以上の文字列を結合し、結合された文字列を返します。

concat('<text1>', '<text2>', ...)
パラメーター 必須 タイプ Description
< text1>, <text2>, ... イエス String 結合する文字列が少なくとも 2 つ
戻り値 タイプ Description
< text1text2...> String 結合された入力文字列から作成された文字列

この例では、文字列 "Hello" と "World" を結合します。

concat('Hello', 'World')

次の結果が返されます。 "HelloWorld"

contains

コレクションに特定の項目があるかどうかを確認します。 アイテムが見つかった場合は true を返し、見つからない場合は false を返します。 この関数では大文字と小文字が区別されます。

contains('<collection>', '<value>')
contains([<collection>], '<value>')

具体的には、この関数は次のコレクション型で機能します。

  • 部分文字列を検索する文字列
  • を検索する配列
  • キーを検索するディクショナリ
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列、配列、またはディクショナリ 確認するコレクション
< 価値> イエス それぞれ文字列、配列、または辞書 検索する項目
戻り値 タイプ Description
true または false ブール値 項目が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

この例では、文字列 "hello world" で部分文字列 "world" をチェックし、true を返します。

contains('hello world', 'world')

例 2

この例では、文字列 "hello world" で部分文字列 "universe" を確認し、false を返します。

contains('hello world', 'universe')

convertFromUtc

タイムスタンプを協定世界時 (UTC) からターゲット タイム ゾーンに変換します。

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< destinationTimeZone> イエス String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、「 Microsoft タイム ゾーンの値」を参照してください。ただし、タイム ゾーン名から句読点を削除する必要がある場合があります。
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< converted-timestamp> String ターゲット タイム ゾーンに変換されたタイムスタンプ

例 1

この例では、タイムスタンプを指定したタイム ゾーンに変換します。

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')

次の結果が返されます。 "2018-01-01T00:00:00Z"

例 2

この例では、タイムスタンプを指定したタイム ゾーンと形式に変換します。

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')

次の結果が返されます。 "Monday, January 1, 2018"

convertTimeZone

タイムスタンプをソース タイム ゾーンからターゲット タイム ゾーンに変換します。

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< sourceTimeZone> イエス String ソース タイム ゾーンの名前。 タイム ゾーン名については、「 Microsoft タイム ゾーンの値」を参照してください。ただし、タイム ゾーン名から句読点を削除する必要がある場合があります。
< destinationTimeZone> イエス String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、「 Microsoft タイム ゾーンの値」を参照してください。ただし、タイム ゾーン名から句読点を削除する必要がある場合があります。
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< converted-timestamp> String ターゲット タイム ゾーンに変換されたタイムスタンプ

例 1

次の使用例は、ソース タイム ゾーンをターゲット タイム ゾーンに変換します。

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')

次の結果が返されます。 "2018-01-01T00:00:00.0000000"

例 2

次の使用例は、指定したタイム ゾーンと形式にタイム ゾーンを変換します。

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

次の結果が返されます。 "Monday, January 1, 2018"

convertToUtc

タイムスタンプをソース タイム ゾーンから協定世界時 (UTC) に変換します。

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< sourceTimeZone> イエス String ソース タイム ゾーンの名前。 タイム ゾーン名については、「 Microsoft タイム ゾーンの値」を参照してください。ただし、タイム ゾーン名から句読点を削除する必要がある場合があります。
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< converted-timestamp> String UTC に変換されたタイムスタンプ

例 1

この例では、タイムスタンプを UTC に変換します。

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')

次の結果が返されます。 "2018-01-01T08:00:00.0000000Z"

例 2

この例では、タイムスタンプを UTC に変換します。

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')

次の結果が返されます。 "Monday, January 1, 2018"

createArray

複数の入力から配列を返します。 単一の入力配列については、 array() を参照してください。

createArray('<object1>', '<object2>', ...)
パラメーター 必須 タイプ Description
< object1>, <object2>, ... イエス Any(ただし、混在はしない) 配列を作成する少なくとも 2 つの項目
戻り値 タイプ Description
[<object1>, <object2>, ...] Array すべての入力項目から作成された配列

この例では、次の入力から配列を作成します。

createArray('h', 'e', 'l', 'l', 'o')

次の結果が返されます。 ["h", "e", "l", "l", "o"]

dataUri

文字列のデータ UNIFORM リソース識別子 (URI) を返します。

dataUri('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する文字列
戻り値 タイプ Description
< data-uri> String 入力文字列のデータ URI

この例では、"hello" 文字列のデータ URI を作成します。

dataUri('hello')

次の結果が返されます。 "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

データ UNIFORM リソース識別子 (URI) のバイナリ バージョンを返します。 decodeDataUri()ではなく、この関数を使用します。 どちらの関数も同じように動作しますが、 dataUriBinary() することをお勧めします。

dataUriToBinary('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換するデータ URI
戻り値 タイプ Description
< binary-for-data-uri> String データ URI のバイナリ バージョン

この例では、このデータ URI のバイナリ バージョンを作成します。

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

次の結果が返されます。

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

データ UNIFORM リソース識別子 (URI) の文字列バージョンを返します。

dataUriToString('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換するデータ URI
戻り値 タイプ Description
< string-for-data-uri> String データ URI の文字列バージョン

次の例では、このデータ URI の文字列を作成します。

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

次の結果が返されます。 "hello"

dayOfMonth

タイムスタンプから月の日を返します。

dayOfMonth('<timestamp>')
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
戻り値 タイプ Description
< day-of-month> 整数 指定したタイムスタンプからの月の日

この例では、このタイムスタンプから月の日の数値を返します。

dayOfMonth('2018-03-15T13:27:36Z')

次の結果が返されます。 15

dayOfWeekの

タイムスタンプから曜日を返します。

dayOfWeek('<timestamp>')
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
戻り値 タイプ Description
< 曜日> 整数 指定したタイムスタンプの曜日 (日曜日が 0、月曜日が 1 など)

次の例では、このタイムスタンプから曜日の数値を返します。

dayOfWeek('2018-03-15T13:27:36Z')

次の結果が返されます。 3

dayOfYear

タイムスタンプから年の日を返します。

dayOfYear('<timestamp>')
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
戻り値 タイプ Description
< day-of-year> 整数 指定したタイムスタンプからの年の日

この例では、このタイムスタンプから年の日の数を返します。

dayOfYear('2018-03-15T13:27:36Z')

次の結果が返されます。 74

decodeBase64

base64 でエンコードされた文字列の文字列バージョンを返し、base64 文字列を効果的にデコードします。 decodeBase64()ではなく、base64ToString() の使用を検討してください。 どちらの関数も同じように動作しますが、 base64ToString() することをお勧めします。

decodeBase64('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String デコードする base64 でエンコードされた文字列
戻り値 タイプ Description
< decodeed-base64-string> String base64 でエンコードされた文字列の文字列バージョン

この例では、base64 でエンコードされた文字列の文字列を作成します。

decodeBase64('aGVsbG8=')

次の結果が返されます。 "hello"

decodeDataUri

データ UNIFORM リソース識別子 (URI) のバイナリ バージョンを返します。 decodeDataUri()ではなく、dataUriToBinary()を使用することを検討してください。 どちらの関数も同じように動作しますが、 dataUriToBinary() することをお勧めします。

decodeDataUri('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String デコードするデータ URI 文字列
戻り値 タイプ Description
< binary-for-data-uri> String データ URI 文字列のバイナリ バージョン

この例では、このデータ URI のバイナリ バージョンが返されます。

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

次の結果が返されます。

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

エスケープ文字をデコードされたバージョンに置き換える文字列を返します。

decodeUriComponent('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String デコードするエスケープ文字を含む文字列
戻り値 タイプ Description
< decodeed-uri> String デコードされたエスケープ文字を含む更新された文字列

この例では、この文字列内のエスケープ文字をデコードされたバージョンに置き換えます。

decodeUriComponent('http%3A%2F%2Fcontoso.com')

次の結果が返されます。 "https://contoso.com"

div

2 つの数値を除算した結果の整数を返します。 残りの結果を取得するには、 mod()を参照してください。

div(<dividend>, <divisor>)
パラメーター 必須 タイプ Description
< 配当> イエス 整数または浮動小数点数 除数で除算する数値
< 除数> イエス 整数または浮動小数点数 被除数を除算するが、0 にすることはできません。
戻り値 タイプ Description
< quotient-result> 整数 1 番目の数値を 2 番目の数値で除算した結果の整数

どちらの例も、最初の数値を 2 番目の数値で除算します。

div(10, 5)
div(11, 5)

次の結果を返します。 2

encodeUriComponent

URL アンセーフ文字をエスケープ文字に置き換えて、文字列の URI (Uniform Resource Identifier) でエンコードされたバージョンを返します。 encodeUriComponent()ではなく uriComponent()を使用することを検討してください。 どちらの関数も同じように動作しますが、 uriComponent() することをお勧めします。

encodeUriComponent('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String URI エンコード形式に変換する文字列
戻り値 タイプ Description
< encoded-uri> String エスケープ文字を含む URI エンコード文字列

次の例では、この文字列の URI でエンコードされたバージョンを作成します。

encodeUriComponent('https://contoso.com')

次の結果が返されます。 "http%3A%2F%2Fcontoso.com"

コレクションが空かどうかを確認します。 コレクションが空の場合は true を返し、空でない場合は false を返します。

empty('<collection>')
empty([<collection>])
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列、配列、またはオブジェクト 確認するコレクション
戻り値 タイプ Description
true または false ブール値 コレクションが空の場合は true を返します。 空でない場合は false を返します。

次の例では、指定したコレクションが空かどうかを確認します。

empty('')
empty('abc')

次の結果が返されます。

  • 最初の例: 空の文字列を渡すので、関数は trueを返します。
  • 2 番目の例: 文字列 "abc" を渡すので、関数は falseを返します。

endsWith

文字列が特定の部分文字列で終わるかどうかを確認します。 部分文字列が見つかった場合は true を返し、見つからない場合は false を返します。 この関数では、大文字と小文字は区別されません。

endsWith('<text>', '<searchText>')
パラメーター 必須 タイプ Description
< テキスト> イエス String チェックする文字列
< searchText> イエス String 検索する終了部分文字列
戻り値 タイプ Description
true または false ブール値 終了部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

この例では、"hello world" 文字列が "world" 文字列で終わるかどうかを確認します。

endsWith('hello world', 'world')

次の結果が返されます。 true

例 2

この例では、"hello world" 文字列が "universe" 文字列で終わるかどうかを確認します。

endsWith('hello world', 'universe')

次の結果が返されます。 false

等しい

値、式、またはオブジェクトの両方が等しいかどうかを確認します。 両方が等しい場合は true を返し、等しくない場合は false を返します。

equals('<object1>', '<object2>')
パラメーター 必須 タイプ Description
< object1>、 <object2> イエス 各種 比較する値、式、またはオブジェクト
戻り値 タイプ Description
true または false ブール値 両方が等しい場合は true を返します。 等しくない場合は false を返します。

これらの例では、指定された入力が等価であるかどうかを確認します。

equals(true, 1)
equals('abc', 'abcd')

次の結果が返されます。

  • 最初の例: 両方の値が等価であるため、関数は trueを返します。
  • 2 番目の例: 両方の値が等しくないので、関数は falseを返します。

まずは

文字列または配列から最初の項目を返します。

first('<collection>')
first([<collection>])
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列または配列 最初の項目を検索するコレクション
戻り値 タイプ Description
< first-collection-item> [任意] コレクション内の最初の項目

これらの例では、次のコレクションの最初の項目を検索します。

first('hello')
first(createArray(0, 1, 2))

次の結果を返します。

  • 最初の例: "h"
  • 2 番目の例: 0

float

浮動小数点数の文字列バージョンを実際の浮動小数点数に変換します。

float('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する有効な浮動小数点数を持つ文字列
戻り値 タイプ Description
< float-value> Float 指定した文字列の浮動小数点数

次の例では、この浮動小数点数の文字列バージョンを作成します。

float('10.333')

次の結果が返されます。 10.333

formatDateTime

指定した形式のタイムスタンプを返します。

formatDateTime('<timestamp>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< reformatted-timestamp> String 指定した形式の更新されたタイムスタンプ

この例では、タイムスタンプを指定した形式に変換します。

formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')

次の結果が返されます。 "2018-03-15T12:00:00"

getFutureTime

現在のタイムスタンプと指定した時間単位を返します。

getFutureTime(<interval>, <timeUnit>, <format>?)
パラメーター 必須 タイプ Description
< > イエス 整数 追加する指定した時間単位の数
< timeUnit> イエス String 間隔で使用する時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String 現在のタイムスタンプに指定した時間単位数を加算した値

例 1

現在のタイムスタンプが "2018-03-01T00:00:00.0000000Z" であるとします。 この例では、そのタイムスタンプに 5 日を追加します。

getFutureTime(5, 'Day')

次の結果が返されます。 "2018-03-06T00:00:00.0000000Z"

例 2

現在のタイムスタンプが "2018-03-01T00:00:00.0000000Z" であるとします。 この例では、5 日を加算し、結果を "D" 形式に変換します。

getFutureTime(5, 'Day', 'D')

次の結果が返されます。 "Tuesday, March 6, 2018"

getPastTime

現在のタイムスタンプから指定した時間単位を引いた値を返します。

getPastTime(<interval>, <timeUnit>, <format>?)
パラメーター 必須 タイプ Description
< > イエス 整数 減算する指定された時間単位の数
< timeUnit> イエス String 間隔で使用する時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String 現在のタイムスタンプから指定した時間単位数を引いた値

例 1

現在のタイムスタンプが "2018-02-01T00:00:00.0000000Z" であるとします。 この例では、そのタイムスタンプから 5 日を減算します。

getPastTime(5, 'Day')

次の結果が返されます。 "2018-01-27T00:00:00.0000000Z"

例 2

現在のタイムスタンプが "2018-02-01T00:00:00.0000000Z" であるとします。 この例では、5 日を減算し、結果を "D" 形式に変換します。

getPastTime(5, 'Day', 'D')

次の結果が返されます。 "Saturday, January 27, 2018"

最初の値が 2 番目の値より大きいかどうかを確認します。 最初の値が多い場合は true を返し、小さい場合は false を返します。

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
パラメーター 必須 タイプ Description
< 価値> イエス 整数、浮動小数点数、または文字列 2 番目の値より大きいかどうかを確認する最初の値
< compareTo> イエス 整数、Float、または文字列 (それぞれ) 比較値
戻り値 タイプ Description
true または false ブール値 最初の値が 2 番目の値より大きい場合は true を返します。 最初の値が 2 番目の値以下の場合は false を返します。

次の例では、最初の値が 2 番目の値より大きいかどうかを確認します。

greater(10, 5)
greater('apple', 'banana')

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

greaterOrEquals

最初の値が 2 番目の値以上かどうかを確認します。 最初の値が大きいか等しい場合は true を返し、最初の値が小さい場合は false を返します。

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
パラメーター 必須 タイプ Description
< 価値> イエス 整数、浮動小数点数、または文字列 2 番目の値以上かどうかを確認する最初の値
< compareTo> イエス 整数、Float、または文字列 (それぞれ) 比較値
戻り値 タイプ Description
true または false ブール値 最初の値が 2 番目の値以上の場合は true を返します。 最初の値が 2 番目の値より小さい場合は false を返します。

次の例では、最初の値が 2 番目の値より大きいか等しいかを確認します。

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

guid

グローバル一意識別子 (GUID) を文字列として生成します (例: "c2ecc88d-88c8-4096-912c-d6f2e2b138ce")。

guid()

また、既定の形式 "D" (ハイフンで区切られた 32 桁) 以外の GUID に別の形式を指定することもできます。

guid('<format>')
パラメーター 必須 タイプ Description
< 形式> いいえ String 返される GUID の 1 つの 書式指定子 。 既定では、形式は "D" ですが、"N"、"D"、"B"、"P"、または "X" を使用できます。
戻り値 タイプ Description
< GUID-value> String ランダムに生成された GUID

次の例では、同じ GUID を生成しますが、32 桁の数字をハイフンで区切り、かっこで囲みます。

guid('P')

次の結果が返されます。 "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

if

式が true か false かを確認します。 結果に基づいて、指定した値を返します。

if(<expression>, <valueIfTrue>, <valueIfFalse>)
パラメーター 必須 タイプ Description
< 式 (expression)> イエス ブール値 チェックする式
< valueIfTrue> イエス [任意] 式が true の場合に返す値
< valueIfFalse> イエス [任意] 式が false の場合に返す値
戻り値 タイプ Description
< specified-return-value> [任意] 式が true か false かに基づいて返される指定された値

この例では、指定した式が true を返すので、 "yes" を返します。 それ以外の場合は、次の "no"が返されます。

if(equals(1, 1), 'yes', 'no')

indexOf

部分文字列の開始位置またはインデックス値を返します。 この関数では大文字と小文字は区別されず、インデックスは数値 0 で始まります。

indexOf('<text>', '<searchText>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 検索する部分文字列を含む文字列
< searchText> イエス String 検索する部分文字列
戻り値 タイプ Description
< index-value> 整数 指定した部分文字列の開始位置またはインデックス値。
文字列が見つからない場合は、-1 という数値を返します。

この例では、"hello world" 文字列内の "world" 部分文字列の開始インデックス値を検索します。

indexOf('hello world', 'world')

次の結果が返されます。 6

整数 (int)

文字列の整数バージョンを返します。

int('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する文字列
戻り値 タイプ Description
< integer-result> 整数 指定した文字列の整数バージョン

この例では、文字列 "10" の整数バージョンを作成します。

int('10')

次の結果が返されます。 10

JSON

文字列または XML の JavaScript Object Notation (JSON) 型の値またはオブジェクトを返します。

json('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス 文字列または XML 変換する文字列または XML
戻り値 タイプ Description
< JSON-result> JSON ネイティブ型またはオブジェクト 指定した文字列または XML の JSON ネイティブ型の値またはオブジェクト。 文字列が null の場合、関数は空のオブジェクトを返します。

例 1

この例では、この文字列を JSON 値に変換します。

json('[1, 2, 3]')

次の結果が返されます。 [1, 2, 3]

例 2

この例では、この文字列を JSON に変換します。

json('{"fullName": "Sophia Owen"}')

次の結果が返されます。

{
  "fullName": "Sophia Owen"
}

例 3

この例では、この XML を JSON に変換します。

json(xml('<?xml version="1.0"?> <root> <person id='1'> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

次の結果が返されます。

{
   "?xml": { "@version": "1.0" },
   "root": {
      "person": [ {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      } ]
   }
}

交差点

指定したコレクションの共通項目 のみを 含むコレクションを返します。 結果に表示するには、この関数に渡されるすべてのコレクションに項目が含まれている必要があります。 1 つ以上の項目の名前が同じである場合、その名前の最後の項目が結果に表示されます。

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
パラメーター 必須 タイプ Description
< collection1>, <collection2>, ... イエス 配列またはオブジェクト(両方ではなく) 共通項目 のみが 必要なコレクション
戻り値 タイプ Description
< common-items> 配列またはオブジェクト (それぞれ) 指定したコレクションの共通項目のみを含むコレクション

この例では、次の配列の共通項目を検索します。

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

次の項目 のみを 含む配列を返します。 [1, 2]

参加

配列のすべての項目を含み、各文字が 区切り記号で区切られた文字列を返します。

join([<collection>], '<delimiter>')
パラメーター 必須 タイプ Description
< 徴収> イエス Array 結合する項目を含む配列
< デリミタ> イエス String 結果の文字列内の各文字の間に表示される区切り記号
戻り値 タイプ Description
< char1><delimiter><char2><delimiter>... String 指定した配列内のすべての項目から作成された結果の文字列

次の使用例は、指定した文字を区切り記号として使用して、この配列内のすべての項目から文字列を作成します。

join(createArray('a', 'b', 'c'), '.')

次の結果が返されます。 "a.b.c"

前の

コレクションから最後の項目を返します。

last('<collection>')
last([<collection>])
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列または配列 最後の項目を検索するコレクション
戻り値 タイプ Description
< last-collection-item> それぞれ文字列または配列 コレクション内の最後の項目

これらの例では、次のコレクションの最後の項目を検索します。

last('abcd')
last(createArray(0, 1, 2, 3))

次の結果が返されます。

  • 最初の例: "d"
  • 2 番目の例: 3

lastIndexOf

部分文字列の最後の出現位置またはインデックス値を返します。 この関数では大文字と小文字は区別されず、インデックスは数値 0 で始まります。

lastIndexOf('<text>', '<searchText>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 検索する部分文字列を含む文字列
< searchText> イエス String 検索する部分文字列
戻り値 タイプ Description
< ending-index-value> 整数 指定した部分文字列が最後に出現する位置またはインデックス値。
文字列が見つからない場合は、-1 という数値を返します。

次の例では、"hello world" 文字列内の "world" 部分文字列の最後に出現する開始インデックス値を検索します。

lastIndexOf('hello world', 'world')

次の結果が返されます。 6

length

コレクション内の項目の数を返します。

length('<collection>')
length([<collection>])
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列または配列 カウントする項目を含むコレクション
戻り値 タイプ Description
< length-or-count> 整数 コレクション内の項目の数

次の例では、これらのコレクション内の項目の数をカウントします。

length('abcd')
length(createArray(0, 1, 2, 3))

次の結果を返します。 4

レス

最初の値が 2 番目の値より小さいかどうかを確認します。 最初の値が小さい場合は true を返し、最初の値が大きい場合は false を返します。

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
パラメーター 必須 タイプ Description
< 価値> イエス 整数、浮動小数点数、または文字列 2 番目の値より小さいかどうかを確認する最初の値
< compareTo> イエス 整数、Float、または文字列 (それぞれ) 比較項目
戻り値 タイプ Description
true または false ブール値 最初の値が 2 番目の値より小さい場合は true を返します。 最初の値が 2 番目の値以上の場合は false を返します。

これらの例では、最初の値が 2 番目の値より小さいかどうかを確認します。

less(5, 10)
less('banana', 'apple')

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

lessOrEquals

最初の値が 2 番目の値以下かどうかを確認します。 最初の値が次の値以下の場合は true を返し、最初の値が多い場合は false を返します。

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
パラメーター 必須 タイプ Description
< 価値> イエス 整数、浮動小数点数、または文字列 2 番目の値以下かどうかを確認する最初の値
< compareTo> イエス 整数、Float、または文字列 (それぞれ) 比較項目
戻り値 タイプ Description
true または false ブール値 最初の値が 2 番目の値以下の場合は true を返します。 最初の値が 2 番目の値より大きい場合は false を返します。

これらの例では、最初の値が 2 番目の値以下かどうかを確認します。

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

max

両端に含まれる数値を含むリストまたは配列から最大値を返します。

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
パラメーター 必須 タイプ Description
< number1>, <number2>, ... イエス 整数、Float、またはその両方 最大値を求める数値のセット
[<number1>, <number2>, ...] イエス 配列 - 整数、浮動小数点数、またはその両方 最大値を求める数値の配列
戻り値 タイプ Description
< max-value> 整数または浮動小数点数 指定した配列または一連の数値の中で最も大きい値

次の例では、数値のセットと配列から最大値を取得します。

max(1, 2, 3)
max(createArray(1, 2, 3))

次の結果を返します。 3

min

数値または配列のセットから最小値を返します。

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
パラメーター 必須 タイプ Description
< number1>, <number2>, ... イエス 整数、Float、またはその両方 最小値を求める数値のセット
[<number1>, <number2>, ...] イエス 配列 - 整数、浮動小数点数、またはその両方 最小値を求める数値の配列
戻り値 タイプ Description
< min-value> 整数または浮動小数点数 指定した数値セットまたは指定した配列内の最小値

次の例では、数値のセットと配列の中で最も小さい値を取得します。

min(1, 2, 3)
min(createArray(1, 2, 3))

次の結果を返します。 1

mod

2 つの数値を除算した剰余を返します。 整数の結果を取得するには、 div()を参照してください。

mod(<dividend>, <divisor>)
パラメーター 必須 タイプ Description
< 配当> イエス 整数または浮動小数点数 除数で除算する数値
< 除数> イエス 整数または浮動小数点数 被除数を除算するが、0 にすることはできません。
戻り値 タイプ Description
< modulo-result> 整数または浮動小数点数 最初の数値を 2 番目の数値で除算した剰余

次の使用例は、最初の数値を 2 番目の数値で除算します。

mod(3, 2)

次の結果を返します。 1

mul

2 つの数値を乗算して積を返します。

mul(<multiplicand1>, <multiplicand2>)
パラメーター 必須 タイプ Description
< multiplicand1> イエス 整数または浮動小数点数 multiplicand2 で乗算する数値
< multiplicand2> イエス 整数または浮動小数点数 multiplicand1 を倍数にする数値
戻り値 タイプ Description
< product-result> 整数または浮動小数点数 最初の数値に 2 番目の数値を乗算した積

次の例では、最初の数値を 2 番目の数値で倍数にしています。

mul(1, 2)
mul(1.5, 2)

次の結果を返します。

  • 最初の例: 2
  • 2 番目の例 3

not

式が false かどうかを確認します。 式が false の場合は true を返し、true の場合は false を返します。

not(<expression>)
パラメーター 必須 タイプ Description
< 式 (expression)> イエス ブール値 チェックする式
戻り値 タイプ Description
true または false ブール値 式が false の場合は true を返します。 式が true の場合は false を返します。

例 1

次の例では、指定した式が false かどうかを確認します。

not(false)
not(true)

次の結果を返します。

  • 最初の例: 式は false であるため、関数は trueを返します。
  • 2 番目の例: 式は true であるため、関数は falseを返します。

例 2

次の例では、指定した式が false かどうかを確認します。

not(equals(1, 2))
not(equals(1, 1))

次の結果を返します。

  • 最初の例: 式は false であるため、関数は trueを返します。
  • 2 番目の例: 式は true であるため、関数は falseを返します。

又は

少なくとも 1 つの式が true かどうかを確認します。 少なくとも 1 つの式が true の場合は true を返し、両方が false の場合は false を返します。

or(<expression1>, <expression2>)
パラメーター 必須 タイプ Description
< expression1>, <expression2> イエス ブール値 チェックする式
戻り値 タイプ Description
true または false ブール値 少なくとも 1 つの式が true の場合は true を返します。 両方の式が false の場合は false を返します。

例 1

次の例では、少なくとも 1 つの式が true かどうかを確認します。

or(true, false)
or(false, false)

次の結果を返します。

  • 最初の例: 少なくとも 1 つの式が true であるため、関数は trueを返します。
  • 2 番目の例: 両方の式が false であるため、関数は falseを返します。

例 2

次の例では、少なくとも 1 つの式が true かどうかを確認します。

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

次の結果を返します。

  • 最初の例: 少なくとも 1 つの式が true であるため、関数は trueを返します。
  • 2 番目の例: 両方の式が false であるため、関数は falseを返します。

ランド

指定した範囲からランダムな整数を返します。これは、開始端でのみ含まれます。

rand(<minValue>, <maxValue>)
パラメーター 必須 タイプ Description
< minValue> イエス 整数 範囲内の最も低い整数
< maxValue> イエス 整数 関数が返すことができる範囲内で最も高い整数の後に続く整数
戻り値 タイプ Description
< random-result> 整数 指定した範囲から返されるランダムな整数

この例では、最大値を除き、指定した範囲からランダムな整数を取得します。

rand(1, 5)

結果として、 123、または 4

範囲

指定した整数から始まる整数配列を返します。

range(<startIndex>, <count>)
パラメーター 必須 タイプ Description
< startIndex> イエス 整数 配列を最初の項目として開始する整数値
< 数える> イエス 整数 配列内の整数の数
戻り値 タイプ Description
[<range-result>] Array 指定したインデックスから始まる整数を含む配列

次の例では、指定したインデックスから始まり、指定した整数の数を持つ整数配列を作成します。

range(1, 4)

次の結果が返されます。 [1, 2, 3, 4]

置換

部分文字列を指定した文字列に置き換え、結果文字列を返します。 この関数では大文字と小文字が区別されます。

replace('<text>', '<oldText>', '<newText>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 置換する部分文字列を含む文字列
< oldText> イエス String 置換する部分文字列
< newText> イエス String 置換文字列
戻り値 タイプ Description
< updated-text> String 部分文字列を置換した後の更新された文字列
部分文字列が見つからない場合は、元の文字列を返します。

この例では、"old" 部分文字列を "古い文字列" で検索し、"old" を "new" に置き換えます。

replace('the old string', 'old', 'new')

次の結果が返されます。 "the new string"

スキップ

コレクションの先頭から項目を削除し、 他のすべての項目を 返します。

skip([<collection>], <count>)
パラメーター 必須 タイプ Description
< 徴収> イエス Array アイテムを削除するコレクション
< 数える> イエス 整数 前面で削除する項目の数の正の整数
戻り値 タイプ Description
[<updated-collection>] Array 指定した項目を削除した後の更新されたコレクション

次の使用例は、指定した配列の先頭から 1 つの項目 (数値 0) を削除します。

skip(createArray(0, 1, 2, 3), 1)

残りの項目を含むこの配列を返します。 [1,2,3]

分割する

元の文字列の指定した区切り文字に基づいて、コンマで区切られた部分文字列を含む配列を返します。

split('<text>', '<delimiter>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 元の文字列の指定した区切り記号に基づいて部分文字列に分割する文字列
< デリミタ> イエス String 区切り記号として使用する元の文字列の文字
戻り値 タイプ Description
[<substring1>,<substring2>,...] Array 元の文字列の部分文字列をコンマで区切って含む配列

次の例では、指定した文字を区切り記号として基づいて、指定した文字列の部分文字列を含む配列を作成します。

split('a_b_c', '_')

そして、結果としてこの配列を返します。 ["a","b","c"]

startOfDay

タイムスタンプの日の始まりを返します。

startOfDay('<timestamp>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String 指定したタイムスタンプが、その日の 0 時間のマークから始まる

この例では、このタイムスタンプの開始日を検索します。

startOfDay('2018-03-15T13:30:30Z')

次の結果が返されます。 "2018-03-15T00:00:00.0000000Z"

startOfHour

タイムスタンプの時間の先頭を返します。

startOfHour('<timestamp>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String 指定したタイムスタンプが、時刻の 0 分記号から始まる

この例では、このタイムスタンプの時間の開始を検索します。

startOfHour('2018-03-15T13:30:30Z')

次の結果が返されます。 "2018-03-15T13:00:00.0000000Z"

startOfMonth

タイムスタンプの月の始まりを返します。

startOfMonth('<timestamp>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String 指定したタイムスタンプが、0 時間のマークで月の最初の日から始まる

この例では、このタイムスタンプの月の始まりを返します。

startOfMonth('2018-03-15T13:30:30Z')

次の結果が返されます。 "2018-03-01T00:00:00.0000000Z"

startsWith

文字列が特定の部分文字列で始まるかどうかを確認します。 部分文字列が見つかった場合は true を返し、見つからない場合は false を返します。 この関数では、大文字と小文字は区別されません。

startsWith('<text>', '<searchText>')
パラメーター 必須 タイプ Description
< テキスト> イエス String チェックする文字列
< searchText> イエス String 検索する開始文字列
戻り値 タイプ Description
true または false ブール値 開始部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

この例では、"hello world" 文字列が "hello" 部分文字列で始まるかどうかを確認します。

startsWith('hello world', 'hello')

次の結果が返されます。 true

例 2

この例では、"hello world" 文字列が "greetings" 部分文字列で始まるかどうかを確認します。

startsWith('hello world', 'greetings')

次の結果が返されます。 false

文字列

値の文字列バージョンを返します。

string(<value>)
パラメーター 必須 タイプ Description
< 価値> イエス [任意] 変換する値
戻り値 タイプ Description
< string-value> String 指定した値の文字列バージョン

例 1

この例では、この番号の文字列バージョンを作成します。

string(10)

次の結果が返されます。 "10"

例 2

この例では、指定した JSON オブジェクトの文字列を作成し、二重引用符 (") のエスケープ文字として円記号 (\) を使用します。

string( { "name": "Sophie Owen" } )

次の結果が返されます。 "{ \\"name\\": \\"Sophie Owen\\" }"

サブ

最初の数値から 2 番目の数値を減算した結果を返します。

sub(<minuend>, <subtrahend>)
パラメーター 必須 タイプ Description
< 被減数> イエス 整数または浮動小数点数 分数を減算する数値
< 減数> イエス 整数または浮動小数点数 minuend から減算する数値
戻り値 タイプ Description
< 結果> 整数または浮動小数点数 最初の数値から 2 番目の数値を減算した結果

次の使用例は、最初の数値から 2 番目の数値を減算します。

sub(10.3, .3)

次の結果が返されます。 10

substring

指定した位置またはインデックスから始まる文字列から文字を返します。 インデックス値は 0 から始まります。

substring('<text>', <startIndex>, <length>)
パラメーター 必須 タイプ Description
< テキスト> イエス String 必要な文字を含む文字列
< startIndex> イエス 整数 開始位置またはインデックス値として使用する 0 以上の正の数値
< 長さ> イエス 整数 部分文字列に必要な正の数の文字
戻り値 タイプ Description
< substring-result> String ソース文字列内の指定したインデックス位置から始まる、指定した文字数の部分文字列

次の例では、インデックス値 6 から始まる、指定した文字列から 5 文字の部分文字列を作成します。

substring('hello world', 6, 5)

次の結果が返されます。 "world"

subtractFromTime

タイムスタンプから時間単位の数を減算します。 getPastTime も参照してください。

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプを含む文字列
< > イエス 整数 減算する指定された時間単位の数
< timeUnit> イエス String 間隔で使用する時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< updated-timestamp> String タイムスタンプから指定した時間単位数を引いた値

例 1

この例では、このタイムスタンプから 1 日を減算します。

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')

次の結果が返されます。 "2018-01-01T00:00:00:0000000Z"

例 2

この例では、このタイムスタンプから 1 日を減算します。

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')

オプションの "D" 形式を使用して、この結果を返します。 "Monday, January, 1, 2018"

取る

コレクションの先頭から項目を返します。

take('<collection>', <count>)
take([<collection>], <count>)
パラメーター 必須 タイプ Description
< 徴収> イエス 文字列または配列 必要な項目を含むコレクション
< 数える> イエス 整数 前面から必要な項目の数の正の整数
戻り値 タイプ Description
< subset> または [<subset>] それぞれ文字列または配列 元のコレクションの先頭から取得された指定された数の項目を含む文字列または配列

次の例では、これらのコレクションの先頭から指定した数の項目を取得します。

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

次の結果を返します。

  • 最初の例: "abc"
  • 2 番目の例: [0, 1, 2]

ダニ

指定したタイムスタンプの ticks プロパティ値を返します。 ティックは 100 ナノ秒の間隔です。

ticks('<timestamp>')
パラメーター 必須 タイプ Description
< タイムスタンプ> イエス String タイムスタンプの文字列
戻り値 タイプ Description
< ticks-number> 整数 入力タイムスタンプ以降のグレゴリオ暦の 0001 年 1 月 1 日午前 12:00:00 から経過したティック数

toLower

小文字の形式で文字列を返します。 文字列内の文字に小文字のバージョンがない場合、その文字は返された文字列内で変更されません。

toLower('<text>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 小文字の形式で返す文字列
戻り値 タイプ Description
< 小文字のテキスト> String 小文字の形式の元の文字列

この例では、この文字列を小文字に変換します。

toLower('Hello World')

次の結果が返されます。 "hello world"

toUpper

大文字の形式で文字列を返します。 文字列内の文字に大文字のバージョンがない場合、その文字は返される文字列内で変更されません。

toUpper('<text>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 大文字で返す文字列
戻り値 タイプ Description
< 大文字テキスト> String 元の文字列 (大文字)

この例では、この文字列を大文字に変換します。

toUpper('Hello World')

次の結果が返されます。 "HELLO WORLD"

トリミングする

文字列から先頭と末尾の空白を削除し、更新された文字列を返します。

trim('<text>')
パラメーター 必須 タイプ Description
< テキスト> イエス String 削除する先頭と末尾の空白を含む文字列
戻り値 タイプ Description
< updatedText> String 先頭または末尾の空白を含まない元の文字列の更新バージョン

この例では、文字列 "Hello World" から先頭と末尾の空白を削除します。

trim(' Hello World  ')

次の結果が返されます。 "Hello World"

UNION

指定したコレクション のすべての 項目を含むコレクションを返します。 結果に表示するには、この関数に渡されるすべてのコレクションに項目を表示できます。 1 つ以上の項目の名前が同じである場合、その名前の最後の項目が結果に表示されます。

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
パラメーター 必須 タイプ Description
< collection1>, <collection2>, ... イエス 配列またはオブジェクト(両方ではなく) すべての項目が必要なコレクション
戻り値 タイプ Description
< updatedCollection> 配列またはオブジェクト (それぞれ) 指定したコレクションのすべての項目を含むコレクション - 重複なし

この例では、次のコレクションから すべての 項目を取得します。

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

次の結果が返されます。 [1, 2, 3, 10, 101]

uriComponent

URL アンセーフ文字をエスケープ文字に置き換えて、文字列の URI (Uniform Resource Identifier) でエンコードされたバージョンを返します。 encodeUriComponent()ではなく、この関数を使用します。 どちらの関数も同じように動作しますが、 uriComponent() することをお勧めします。

uriComponent('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String URI エンコード形式に変換する文字列
戻り値 タイプ Description
< encoded-uri> String エスケープ文字を含む URI エンコード文字列

次の例では、この文字列の URI でエンコードされたバージョンを作成します。

uriComponent('https://contoso.com')

次の結果が返されます。 "http%3A%2F%2Fcontoso.com"

uriComponentToBinary

URI (Uniform Resource Identifier) コンポーネントのバイナリ バージョンを返します。

uriComponentToBinary('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する URI エンコード文字列
戻り値 タイプ Description
< binary-for-encoded-uri> String URI でエンコードされた文字列のバイナリ バージョン。 バイナリ コンテンツは base64 でエンコードされ、 $contentで表されます。

この例では、この URI でエンコードされた文字列のバイナリ バージョンを作成します。

uriComponentToBinary('http%3A%2F%2Fcontoso.com')

次の結果が返されます。

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

URI でエンコードされた URI でエンコードされた文字列の文字列バージョンを返し、URI でエンコードされた文字列を効果的にデコードします。

uriComponentToString('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String デコードする URI エンコード文字列
戻り値 タイプ Description
< decodeed-uri> String URI でエンコードされた文字列のデコードされたバージョン

次の例では、この URI でエンコードされた文字列のデコードされた文字列バージョンを作成します。

uriComponentToString('http%3A%2F%2Fcontoso.com')

次の結果が返されます。 "https://contoso.com"

utcNow

現在のタイムスタンプを返します。

utcNow('<format>')

必要に応じて、 <format> パラメーターを使用して別の形式を指定できます。

パラメーター 必須 タイプ Description
< 形式> いいえ String 1 つの書式指定子またはカスタム書式指定パターン。 タイムスタンプの既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffffK) です。 これは ISO 8601 に 準拠し、タイム ゾーン情報を保持します。
戻り値 タイプ Description
< current-timestamp> String 現在の日付と時刻

例 1

今日が 2018 年 4 月 15 日午後 1 時 00 分であるとします。 この例では、現在のタイムスタンプを取得します。

utcNow()

次の結果が返されます。 "2018-04-15T13:00:00.0000000Z"

例 2

今日が 2018 年 4 月 15 日午後 1 時 00 分であるとします。 この例では、省略可能な "D" 形式を使用して現在のタイムスタンプを取得します。

utcNow('D')

次の結果が返されます。 "Sunday, April 15, 2018"

xml

JSON オブジェクトを含む文字列の XML バージョンを返します。

xml('<value>')
パラメーター 必須 タイプ Description
< 価値> イエス String 変換する JSON オブジェクトを含む文字列
JSON オブジェクトにはルート プロパティを 1 つだけ含める必要があり、配列にすることはできません。
二重引用符 (") のエスケープ文字として円記号 (\) を使用します。
戻り値 タイプ Description
< xml-version> Object 指定した文字列または JSON オブジェクトのエンコードされた XML

例 1

この例では、JSON オブジェクトを含むこの文字列の XML バージョンを作成します。

xml(json('{ \"name\": \"Sophia Owen\" }'))

そして、この結果 XML を返します。

<name>Sophia Owen</name>

例 2

次の JSON オブジェクトがあるとします。

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

この例では、次の JSON オブジェクトを含む文字列の XML を作成します。

xml(json('{\"person\": {\"name\": \"Sophia Owen\", \"city\": \"Seattle\"}}'))

そして、この結果 XML を返します。

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

XPath (XML パス言語) 式に一致するノードまたは値を XML で確認し、一致するノードまたは値を返します。 XPath 式または単に "XPath" は、XML コンテンツ内のノードまたは計算値を選択できるように、XML ドキュメント構造内を移動するのに役立ちます。

xpath('<xml>', '<xpath>')
パラメーター 必須 タイプ Description
< xml> イエス [任意] XPath 式の値に一致するノードまたは値を検索する XML 文字列
< xpath> イエス [任意] 一致する XML ノードまたは値を検索するために使用される XPath 式
戻り値 タイプ Description
< xml-node> XML 指定した XPath 式に一致するノードが 1 つだけの場合の XML ノード
< 価値> [任意] 指定した XPath 式に一致する値が 1 つだけの場合の XML ノードからの値
[<xml-node1>, <xml-node2>, ...]
または、
[<value1>, <value2>, ...]
Array 指定した XPath 式に一致する XML ノードまたは値を含む配列

例 1

例 1 の次の例では、 <count></count> ノードと一致するノードを検索し、それらのノード値を sum() 関数に追加します。

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

次の結果が返されます。 30

例 2

この例では、両方の式で、名前空間を持つ XML を含む指定した引数で、 <___location></___location> ノードに一致するノードを検索します。 式では、二重引用符 (") のエスケープ文字として円記号 (\) が使用されます。

  • 式 1

    xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"___location\"]')

  • 式 2

    xpath(xml(body('Http')), '/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"___location\"]')

引数を次に示します。

  • この XML には、XML ドキュメント名前空間が含 xmlns="http://contoso.com"

    <?xml version="1.0"?> <file xmlns="http://contoso.com"> <___location>Paris</___location> </file>
    
  • ここで XPath 式を使用します。

    • /*[name()=\"file\"]/*[name()=\"___location\"]

    • /*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"___location\"]

<___location></___location> ノードと一致する結果ノードを次に示します。

<___location xmlns="https://contoso.com">Paris</___location>

例 3

例 3 の次の例では、 <___location></___location> ノード内の値を検索します。

xpath(xml(body('Http')), 'string(/*[name()=\"file\"]/*[name()=\"___location\"])')

次の結果が返されます。 "Paris"

データ フロー式にはコメントを追加できますが、パイプライン式には追加できません。

一般的なパラメーターの使用方法については、「Fabric の Data Factory のパラメーター」を参照してください。