マッピング データ フローでの式関数

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

データ フローは、Azure Data Factory および Azure Synapse Pipelines の両方で使用できます。 この記事は、マッピング データ フローに適用されます。 変換を初めて使用する場合は、概要の記事「マッピング データ フローを使用してデータを変換する」を参照してください。

以下の記事では、Azure Data Factory および Azure Synapse Analytics でサポートされるマッピング データ フローの式関数に関する詳細情報を提供します。

式関数一覧

Data Factory および Synapse パイプラインでは、マッピング データ フロー機能の式言語を使用して、データ変換が構成されます。

式関数 タスク
abs 数値の絶対値。
acos 逆コサイン値を計算します。
add 文字列または数値のペアを追加します。 日付に日数を加算します。 タイムスタンプに期間を追加します。 別の配列に類似するタイプの配列を追加します。 \+ 演算子と同じです。
and 論理 AND 演算子です。 && と同じです。
asin 逆サイン値を計算します。
assertErrorMessages すべてのアサート メッセージのマップを返します。
atan 逆正接値を計算します。
atan2 座標で指定された、平面の正の x 軸と点の間の角度をラジアンで返します。
between 最初の値が他の 2 つの値の範囲内にあるかどうかを確認します。 数値、文字列値、datetime 値を比較できます
bitwiseAnd 整数型間でのビット AND 演算子です。 > 演算子と同じです。
bitwiseOr 整数型間でのビット OR 演算子です。 | 演算子と同じです。
bitwiseXor 整数型間でのビット OR 演算子です。 | 演算子と同じです。
blake2b ビット長を指定して、さまざまなプリミティブ データ型の列セットの Blake2 ハッシュを計算します。 ビット長は 8 ~ 512 の 8 の倍数にする必要があります。 行のフィンガープリントを計算するために使用できます。
blake2bBinary ビット長を指定して、さまざまなプリミティブ データ型の列セットの Blake2 ダイジェストを計算します。これは、8 から 512 までの 8 の倍数のみです。 行のフィンガープリントを計算するために使用できます
case 交互条件に基づいて、2 つの値のいずれかを適用します。 入力数が偶数の場合、最後の条件でその他は既定で NULL になります。
cbrt 数値の立方根を計算します。
ceil 特定の数値以上の最小の整数を返します。
coalesce 一連の入力から、最初の null でない値を返します。 すべての入力は同じ型である必要があります。
columnNames ストリームのすべての出力列の名前を取得します。 省略可能なストリーム名を最初の引数として渡し、省略可能な 2 番目の引数を渡して、スキーマ ドリフト列のみが返されるようにすることができます。
columns ストリームのすべての出力列の値を取得します。 省略可能なストリーム名を 2 番目の引数として渡すことができます。
compare 同じ型の 2 つの値を比較します。 value1 < value2 の場合は負の整数、value1 == value2 の場合は 0、value1 > value2 の場合は正の値を返します。
concat 可変数の文字列を連結します。 文字列で使用する + 演算子と同じです。
concatWS 可変数の文字列を区切り記号を使用して連結します。 最初のパラメーターは区切り記号です。
cos コサイン値を計算します。
cosh 値の双曲線コサインを計算します。
crc32 さまざまなプリミティブ データ型の列セットの CRC32 ハッシュを指定のビット長で計算します。 ビット長として指定できるのは、0 (256)、224、256、384、512 の値のみです。 行のフィンガープリントを計算するために使用できます。
degrees ラジアンを角度に変換します。
divide 数値のペアを除算します。 / 演算子と同じです。
dropLeft 文字列の左側から任意の文字数の文字を削除します。 要求されたドロップが文字列の長さを超える場合は、空の文字列が返されます。
dropRight 文字列の右側から任意の文字数の文字を削除します。 要求されたドロップが文字列の長さを超える場合は、空の文字列が返されます。
endsWith 文字列が指定した文字列で終了しているかをチェックします。
equals 等価比較演算子。 == 演算子と同じです。
equalsIgnoreCase 大文字と小文字の区別を無視する等価比較演算子。 <=> 演算子と同じです。
escape 形式に従って、文字列をエスケープします。 使用できる形式のリテラル値は、'json'、'xml'、'ecmascript'、'html'、'java' です。
expr 結果は文字列からの式です。 これは、非リテラル形式でこの式を記述することと同じで、文字列表現としてパラメーターを渡すために使用できます。
factorial 数値の階乗を計算します。
false 常に false 値を返します。 'false' という名前の列がある場合は、関数 syntax(false()) を使用します。
floor 特定の数値以下の最大の整数を返します。
fromBase64 指定した base64 エンコード文字列をデコードします。
greater 比較超過演算子。 > 演算子と同じです。
greaterOrEqual 比較 (以上) 演算子。 >= 演算子と同じです。
greatest null 値をスキップした入力値のリストの中の最大値を返します。 すべての入力が null の場合は null を返します。
hasColumn ストリームでの名前で列の値をチェックします。 省略可能なストリーム名を 2 番目の引数として渡すことができます。 設計時にわかっている列名は、その名前だけで処理する必要があります。 計算入力はサポートされていませんが、パラメーター置換を使用することができます。
hasError 指定された ID のアサートがエラーとしてマークされているかどうかを確認します。
iif 条件に基づいて、2 つの値のいずれかを適用します。 その他が指定されていない場合は、NULL と見なされます。 両方の値は互換性がなければなりません (数値、文字列...)。
iifNull 複数の入力を指定した場合は、最初の not null 項目が返されます。 この関数は結合に相当します。
initCap すべての単語の最初の文字を大文字に変換します。 単語は、空白文字で区切られているものとして識別されます。
instr 文字列内の部分文字列の位置 (1 を基準とする) を見つけます。 見つからない場合は 0 が返されます。
isDelete 行が削除用にマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isError 行がエラーとしてマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isIgnore 行を無視するようにマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isInsert 行が挿入用にマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isMatch 行がルックアップで一致するかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isNull 値が NULL かどうかをチェックします。
isUpdate 行が更新用にマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
isUpsert 行が挿入用にマークされているかどうかをチェックします。 1 つ以上の入力ストリームを取る変換は、ストリームの (1 から始まる) インデックスを渡すことができます。 ストリーム インデックスは 1 または 2 のいずれかである必要があり、既定値は 1 です。
jaroWinkler 2 つの文字列の間の JaroWinkler 距離を取得します。
least 比較 (以下) 演算子。 <= 演算子と同じです。
left インデックス 1 から開始して指定した文字数の部分文字列を抽出します。 SUBSTRING(str, 1, n) と同じです。
length 文字列の長さを返します。
lesser 比較未満演算子。 < 演算子と同じです。
lesserOrEqual 比較 (以下) 演算子。 <= 演算子と同じです。
levenshtein 2 つの文字列の間のレーベンシュタイン距離を取得します。
like パターンは文字通り一致する文字列です。 次の特殊文字は例外です。_ は入力内の任意の 1 文字と一致します (posix 正規表現の . に類似)。
locate 特定の位置から開始して、文字列内の部分文字列の位置 (1 を基準とする) を見つけます。 位置を省略すると、文字列の最初からとみなされます。 見つからない場合は 0 が返されます。
log 対数の値を計算します。 省略可能な底を指定できます。省略すると、オイラー数を返します (使用される場合)。
log10 10 を底とする対数の値を計算します。
lower 文字列を小文字にします。
lpad 特定の長さになるまで、指定した埋め込み文字で文字列の左側を埋め込みます。 文字列が指定された長さ以上の場合は、その長さまで削除されます。
ltrim 文字列の先頭文字を左から削除します。 2 番目のパラメーターを指定しない場合、空白文字を削除します。 それ以外の場合は、2 番目のパラメーターに指定した任意の文字を削除します。
md5 さまざまなプリミティブ データ型の列セットの MD5 ハッシュを計算し、32 文字の 16 進数の文字列を返します。 行のフィンガープリントを計算するために使用できます。
minus 数値を減算します。 日付から日数を減算します。 タイムスタンプから期間を減算します。 2 つのタイムスタンプを減算して、ミリ秒単位での差を取得します。 \- 演算子と同じです。
mod 数値のペアの剰余です。 % 演算子と同じです。
multiply 数値のペアを乗算します。 \* 演算子と同じです。
negate 数値の符号を反転します。 正の数値を負の数値 (または、その逆) に変換します。
nextSequence 次の固有なシーケンスを返します。 数値は、パーティション内でのみ連続し、プレフィックスとして partitionId が付加されます。
normalize 文字列値を個別にアクセント記号が付いた Unicode 文字に正規化します。
not 論理否定演算子。
notEquals 比較不等価演算子。 != 演算子と同じです。
null NULL 値を返します。 "null" という名前の列がある場合は、関数 syntax(null()) を使用します。 これを使用する操作はすべて NULL になります。
or 論理 OR 演算子です。 || と同じです。
pMod 数値のペアの正の剰余です。
partitionId 入力行が含まれている現在のパーティション ID を返します。
power 数値を別の数値でべき乗します。
radians 角度をラジアンに変換します。
random パーティション内に省略可能なシード値を指定すると、乱数を返します。 シード値は固定値である必要があり、乱数値を生成するために partitionId と組み合わせて使用されます
regexExtract 指定された正規表現パターンに一致する部分文字列を抽出します。 最後のパラメーターは、一致グループを識別し、省略すると既定値として 1 が使用されます。 エスケープせずに文字列を照合するには、`<regex>` (バック クォート) を使用します。
regexMatch 指定された正規表現パターンに文字列が一致するかどうかをチェックします。 エスケープせずに文字列を照合するには、`<regex>` (バック クォート) を使用します。
regexReplace 指定の文字列内の正規表現パターンのすべての出現を別の部分文字列に置換します。エスケープせずに文字列を照合するには、`<regex>` (バック クォート) を使用します。
regexSplit 文字列を正規表現に基づく区切り文字に基づいて分割し、文字列の配列を返します。
replace 指定された文字列内の substring のすべての出現を別の substring に置換します。 最後のパラメーターを省略すると、既定値は空の文字列になります。
reverse 文字列を反転します。
right 指定した文字数の部分文字列を右から抽出します。 SUBSTRING(str, LENGTH(str) - n, n) と同じです。
rlike 指定された正規表現パターンに文字列が一致するかどうかをチェックします。
round 省略可能な桁数と省略可能な丸めモードで数値を丸めます。 桁数を省略すると、既定値の 0 が使用されます。 モードを省略すると、既定値は ROUND_HALF_UP(5) になります。 丸めの値には以下が含まれます
rpad 特定の長さになるまで、指定した埋め込み文字で文字列の右側を埋め込みます。 文字列が指定された長さ以上の場合は、その長さまで削除されます。
rtrim 文字列の末尾文字を右から削除します。 2 番目のパラメーターを指定しない場合、空白文字を削除します。 それ以外の場合は、2 番目のパラメーターに指定した任意の文字を削除します。
sha1 さまざまなプリミティブ データ型の列セットの SHA-1 ハッシュを計算し、40 文字の16 進数の文字列を返します。 行のフィンガープリントを計算するために使用できます。
sha2 さまざまなプリミティブ データ型の列セットの SHA-2 ハッシュを指定のビット長で計算します。ビット長として指定できるのは、0(256)、224、256、384、512 の値のみです。 行のフィンガープリントを計算するために使用できます。
sin サイン値を計算します。
sinh 双曲線サイン値を計算します。
soundex 文字列の soundex コードを取得します。
split 文字列を区切り文字に基づいて分割し、文字列の配列を返します。
sqrt 数値の平方根を計算します。
startsWith 文字列が指定した文字列で開始しているかどうかをチェックします。
substring ある位置から特定の長さの部分文字列を抽出します。 位置は 1 から始まります。 長さを省略すると、既定値は文字列の最後になります。
substringIndex 区切り記号が count 回出現する前の substring を抽出します。 count が正の場合、(左からカウントして) 最後の区切り記号の左側にあるすべての部分が返されます。 count が負の場合、(右からカウントして) 最後の区切り記号の右側にあるすべての部分が返されます。
tan タンジェント値を計算します。
tanh 双曲線タンジェント値を計算します。
translate 文字列内のある文字セットを別の文字セットで置換します。 文字の置換は 1 対 1 で行われます。
trim 文字列の先頭文字と末尾文字を削除します。 2 番目のパラメーターを指定しない場合、空白文字を削除します。 それ以外の場合は、2 番目のパラメーターに指定した任意の文字を削除します。
true 常に true 値を返します。 "null" という名前の列がある場合は、関数 syntax(true()) を使用します。
typeMatch 列の型を照合します。 パターン式でのみ使用できます。数値は short、integer、long、double、float、または decimal 型に一致し、整数は short、integer、long 型に一致し、小数は double、float、decimal 型に一致し、日時は date または timestamp 型に一致します。
unescape 形式に従って、文字列を非エスケープします。 使用できる形式のリテラル値は、'json'、'xml'、'ecmascript'、'html'、'java' です。
upper 文字列を大文字にします。
uuid 生成された UUID を返します。
xor XOR 論理演算子。 ^ 演算子と同じです。