タプル関数
以下のドキュメントは system.functions システムテーブルから生成されています。
flattenTuple
導入バージョン: v22.6
名前付きでネストされたタプルをフラット化します。 返されるタプルの各要素は、入力タプル内の要素へのパスになります。
構文
引数
input— フラット化する名前付きおよびネストされたタプル。Tuple(n1 T1[, n2 T2, ... ])
戻り値
元の入力内のパスを要素とする出力タプルを返します。Tuple(T)
例
使用例
tuple
導入バージョン: v
入力引数をグループ化してタプルを返します。
型が T1, T2, ... である列 C1, C2, ... に対して、これらの列名が一意であり、かつクォートなしの識別子として扱える場合は、それらの列を含む名前付きタプル型 Tuple(C1 T1, C2 T2, ...) を返し、そうでない場合は Tuple(T1, T2, ...) を返します。この関数の実行コストは発生しません。
タプルは通常、IN 演算子の引数用の中間値として、またはラムダ関数の形式引数リストを作成するために使用されます。タプルをテーブルに書き込むことはできません。
この関数は演算子 (x, y, ...) を実装しています。
構文
引数
- なし
戻り値
例
典型例
tupleConcat
導入: v23.8
引数として渡されたタプルを結合します。
構文
引数
tupleN— 任意個数のTuple型引数。Tuple(T)
返される値
すべての入力タプルの要素を含むタプルを返します。Tuple(T)
例
使用例
tupleDivide
導入バージョン: v21.11
同じ長さの 2 つのタプルについて、対応する要素同士の除算を計算します。
ゼロ除算の場合は inf を返します。
構文
引数
t1— 1 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)t2— 2 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
除算結果のタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用方法
tupleDivideByNumber
導入バージョン: v21.11
すべての要素を指定した数値で割った結果のタプルを返します。
0 で割った場合は inf を返します。
構文
引数
tuple— 除算対象のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)number— 除数。(U)Int*またはFloat*またはDecimal
戻り値
各要素を除算した結果のタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
使用例
基本的な使い方
tupleElement
導入バージョン: v1.1
タプルから要素をインデックスまたは名前で抽出します。
インデックスでアクセスする場合は、1 始まりの数値インデックスを指定します。 名前でアクセスする場合は、要素名を文字列として指定します(名前付きタプルでのみ有効です)。
省略可能な 3 番目の引数でデフォルト値を指定できます。アクセス対象の要素が存在しない場合、例外をスローする代わりにこの値が返されます。 すべての引数は定数でなければなりません。
この関数は実行時コストがゼロであり、演算子 x.index および x.name を実装します。
構文
引数
tuple— タプル、またはタプルの配列。Tuple(T)またはArray(Tuple(T))index— 1 から始まるカラムインデックス。const UInt8/16/32/64name— 要素の名前。const Stringdefault_value— インデックスが有効範囲外、または要素が存在しない場合に返されるデフォルト値。Any
戻り値
指定されたインデックスまたは名前の要素を返します。Any
例
インデックスによるアクセス
テーブル付きの名前付きタプル
デフォルト値の場合
演算子の構文
tupleHammingDistance
導入: v21.1
同じサイズの 2 つのタプル間のハミング距離を返します。
構文
引数
戻り値
ハミング距離を返します。UInt8/16/32/64
例
使用例
MinHash による準重複文字列の検出
tupleIntDiv
導入バージョン: v23.8
分子のタプルと分母のタプルを用いて整数除算を実行します。商のタプルを返します。 どちらかのタプルに整数以外の要素が含まれている場合、整数以外の分子または除数については、最も近い整数に丸めてから結果を計算します。 0 による除算を行うとエラーがスローされます。
構文
引数
tuple_num— 分子の値のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)tuple_div— 分母の値のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
商を要素とするタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使い方
小数を使用する場合
tupleIntDivByNumber
導入バージョン: v23.8
分子のタプルを指定された分母で整数除算し、その商のタプルを返します。 いずれかの入力パラメータに非整数の要素が含まれる場合、各非整数の分子または除数を最も近い整数に丸めてから結果を計算します。 0 での除算が行われた場合はエラーがスローされます。
構文
引数
tuple_num— 分子値のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)div— 除数の値。(U)Int*またはFloat*またはDecimal
戻り値
商のタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使い方
小数を含む場合
tupleIntDivOrZero
導入バージョン: v23.8
tupleIntDiv と同様に、分子のタプルと分母のタプルに対して整数除算を実行し、商のタプルを返します。
0 による除算が発生した場合は、例外をスローする代わりに、その商を 0 として返します。
いずれかのタプルに整数以外の要素が含まれている場合は、各整数以外の分子または除数を最も近い整数に丸めてから結果を計算します。
構文
引数
tuple_num— 分子の値を含むタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)tuple_div— 除数の値を含むタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
商のタプルを返します。除数が 0 の場合、その商として 0 を返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
除数が 0 の場合
tupleIntDivOrZeroByNumber
導入バージョン: v23.8
tupleIntDivByNumber と同様に、指定された分母で分子のタプルに対して整数除算を行い、商のタプルを返します。
除数がゼロの場合でもエラーはスローされず、商としてゼロを返します。
タプルまたは除数に整数以外の要素が含まれている場合、それぞれの整数以外の分子または除数を最も近い整数に丸めてから結果を計算します。
構文
引数
tuple_num— 分子の値を格納したタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)div— 除数の値。(U)Int*またはFloat*またはDecimal
返される値
除数が 0 の要素については商を 0 とした商のタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
使用例
基本的な使用方法
除数が 0 の場合
tupleMinus
導入バージョン: v21.11
同じ要素数を持つ 2 つのタプルの対応する要素同士の差を計算します。
構文
エイリアス: vectorDifference
引数
t1— 1 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)t2— 2 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
減算した結果を含むタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用例
tupleModulo
導入バージョン: v23.8
2 つのタプルの要素同士を除算した際の余り(剰余)を要素とするタプルを返します。
構文
引数
tuple_num— 分子の値のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)tuple_mod— 法 (modulus) の値のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
除算の余りを要素とするタプルを返します。ゼロでの除算はエラーになります。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用方法
tupleModuloByNumber
導入バージョン: v23.8
タプルの各要素を指定された除数で割ったときの剰余(余り)からなるタプルを返します。
構文
引数
tuple_num— 分子となる要素のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)div— 除数となる値。(U)Int*またはFloat*またはDecimal
戻り値
除算の余りを要素とするタプルを返します。0 で除算を行うとエラーになります。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用例
tupleMultiply
導入バージョン: v21.11
同じ長さの 2 つのタプルに対して、対応する要素同士の積を計算します。
構文
引数
t1— 1 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)t2— 2 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
乗算結果を含むタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用例
tupleMultiplyByNumber
導入バージョン: v21.11
すべての要素を指定した数値で乗算したタプルを返します。
構文
引数
tuple— 乗算するタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)number— 乗数。(U)Int*またはFloat*またはDecimal
戻り値
各要素を乗算したタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使い方
tupleNames
導入バージョン: v
タプルを、その列名からなる配列に変換します。Tuple(a T, b T, ...) という形式のタプルに対して、そのタプル内の名前付き列を表す文字列の配列を返します。タプル要素に明示的な名前が付いていない場合は、その要素のインデックスが列名として使用されます。
構文
引数
- なし。
戻り値
例
典型的な例
tupleNegate
導入バージョン: v21.11
タプルの各要素の符号を反転します。
構文
引数
t— 符号を反転するタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
符号反転した結果のタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使い方
tuplePlus
導入バージョン: v21.11
同じ長さの2つのタプルについて、対応する要素同士を加算します。
構文
別名: vectorSum
引数
t1— 1 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)t2— 2 番目のタプル。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)
戻り値
対応する各入力タプル要素の和を含むタプルを返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使い方
tupleToNameValuePairs
導入: v21.9
タプルを (name, value) のペアの配列に変換します。
例えば、タプル Tuple(n1 T1, n2 T2, ...) は Array(Tuple('n1', T1), Tuple('n2', T2), ...) に変換されます。
タプル内のすべての値は同じ型である必要があります。
構文
引数
tuple— 任意の型の値を持つ名前付きタプル。Tuple(n1 T1[, n2 T2, ...])
戻り値
(name, value) のペアを要素とする配列を返します。Array(Tuple(String, T))
例
名前付きタプル
無名タプル
untuple
呼び出し箇所で tuple 要素の構文的な置換を行います。
結果列の名前は実装依存であり、将来変更される可能性があります。untuple 実行後の特定の列名に依存しないでください。
構文
クエリ結果から特定の列を除外するために EXCEPT 式を使用できます。
引数
x—tuple関数、列、または要素のタプル。Tuple。
返される値
- なし。
例
入力テーブル:
untuple 関数のパラメータとして Tuple 型の列を使用する例:
クエリ:
結果:
EXCEPT 式の使用例:
クエリ:
結果:
距離関数
サポートされているすべての関数については、距離関数のドキュメントを参照してください。