タプル関数
以下のドキュメントは 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 つのタプルにおける、対応する要素同士の除算を計算します。
0 での除算は 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
指定した数値で各要素を割った tuple を返します。
ゼロで除算した場合は inf を返します。
構文
引数
tuple— 割る対象の Tuple。Tuple((U)Int*)またはTuple(Float*)またはTuple(Decimal)number— 除数。(U)Int*またはFloat*またはDecimal
戻り値
各要素を割った Tuple を返します。Tuple((U)Int*) または Tuple(Float*) または Tuple(Decimal)
例
基本的な使用方法
tupleElement
導入バージョン: v1.1
タプルから要素をインデックスまたは名前で抽出します。
インデックスでアクセスする場合、1 始まりの数値インデックスを指定します。 名前でアクセスする場合、要素名を文字列として指定できます(名前付きタプルでのみ使用可能)。
負のインデックスもサポートされています。この場合、末尾から番号付けされた対応する要素が選択されます。たとえば、tuple.-1 はタプル内の最後の要素です。
省略可能な第 3 引数でデフォルト値を指定できます。これは、アクセスした要素が存在しない場合に例外をスローする代わりに返されます。 すべての引数は定数でなければなりません。
この関数は実行時コストはゼロであり、演算子 x.index および x.name を実装します。
構文
引数
tuple— タプル、またはタプルの配列。Tuple(T)またはArray(Tuple(T))index— 1 から始まるカラムインデックス。const UInt8/16/32/64name— 要素名。const Stringdefault_value—indexが範囲外、または要素が存在しない場合に返されるデフォルト値。Any
戻り値
指定された index または name の要素を返します。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)
例
基本的な使用例
ゼロ除算の場合
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)
返される値
除算の剰余のタプルを返します。0 による除算が行われた場合はエラーをスローします。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 式の使用例:
クエリ:
結果:
距離関数
サポートされている関数はすべて、距離関数のドキュメントで説明されています。