プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

ARB

ARBでは、フィールド内の一連の値から任意かつ一貫した値が選択されます。

ARB関数の構文は、次のとおりです:
ARB(<attribute>)
「属性」は、単一割当て属性またはセット(複数割当て属性)です。
ARBは次のように機能します:
  • 単一割当て属性の場合、ARBはまずNULL値をすべて廃棄してから、残りの非NULL値から任意で一貫している値を選択します。 属性にNULL以外の値が含まれない場合、NULLが返されます。
  • 複数割当属性の場合、ARBでは、グループ内のすべての行(空のセットを含む行を含む行)を参照し、いずれかの行から設定値を選択します。 つまり、空のセットと空でないセットは同等に扱われます。 これは、選択肢が任意であるため、返されたセット値が空のセットである可能性があることを意味します。 ARBの戻り型は引数型と同じです。 : 属性xがmdex:long-setの場合、ARB(x)となります。 属性にNULL以外の値が含まれない場合、空のセットが返されます。

ARBの例

単一割当ての例 : 価格は単一割当属性です:
RETURN results AS
SELECT ARB(Price) AS prices
FROM WineState
GROUP BY WineType
ORDER BY WineType
この例の結果は次のとおりです:
WineType           prices
--------------------------
| Blanc de Noirs | 16.99 |
| Bordeaux:      | 21.99 |
| Brut           | 22.99 |
| Chardonnay:    | 17.95 |
| Merlot:        | 25.99 |
| Pinot Noir:    | 14.99 |
| Red:           | 9.99  |
| White:         | 20.99 |
| Zinfandel:     |       |
--------------------------
このデータ・セットから取得する興味深い結果値は次のとおりです:
  • 流用レコードは3つあります: 1つは21.99という価格割当を持ち、もう2つは価格割当を持ちません。 このため、Bordeaux値の場合、ARBは2つのNULL値を破棄して21.99値を返しました。
  • 郵便番号レコードが1つあり、価格割当がありません。 したがって、NULL値が戻されます。
複数割当の例 : 本文は複数割当属性です:
RETURN results AS
SELECT ARB(Body) AS bodies
FROM WineState
GROUP BY WineType
ORDER BY WineType
この例の結果は次のとおりです:
WineType             bodies
----------------------------------------
| Blanc de Noirs | { Firm, Robust }    |
| Bordeaux:      | { Silky, Tannins }  |
| Brut           | { Robust }          |
| Chardonnay:    | { }                 |
| Merlot:        | { }                 |
| Pinot Noir:    | { Supple }          |
| Red:           | { Silky, Tannins }  |
| White:         | { }                 |
| Zinfandel:     | { Robust, Tannins } |
----------------------------------------
この属性の興味深い結果を次に示します:
  • 9つすべての赤いレコードには、少なくとも1つの本文が割り当てられています。 赤で返される値は {Silky, Tannins} セットですが、任意であるため、他の8つのセットのいずれかで値が戻された可能性があります。
  • 2つの白レコードには本文割当があり(したがって空でないセットがあり)、他の2つのレコードには本文割当はありません(したがって、空のセットがあります)。 白の空のセットの1つが任意の値として返されましたが、空でないセットの1つである可能性もあります。
  • 2つの文字セット・レコードのいずれにも本文割当がないため、このグループに対して空のセットが返されました。