プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service Studioユーザー・ガイド

E65365-05
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

関数およびドット表記と関数チェーン

変換関数をスクリプトに追加する場合、適切な構文を使用する必要があります。そうしないと、スクリプトは正しく実行されません。 このトピックで説明するように、機能表記を使用してすべての変換関数を参照できます。

<function>(<argument1>[,<argumentN>])
たとえば、次のコードでは、addressという属性にgeotagAddress関数が適用されます:
geotagAddress(address)
Studio固有ではない元のGroovy関数を含める場合、ドット表記法を使用できます:
<attribute>.<function>()
たとえば、次のコードはtoString関数を使用して、quantityという属性を文字列に変換します:
quantity.toString()

注意:

ドット表記は、元のGroovy関数にのみ使用できます。 BDD固有の変換関数の場合、機能表記法を使用する必要があります。

関数チェーン

関数チェーンにより、単一の文の属性に複数の関数を適用できます。 関数を連鎖させるには、ある関数に属性を渡してから、その関数を別の関数に渡します。 最も内側の関数(属性をパラメータとして受け取る関数)が最初に評価され、最も外側の関数が最後に評価されます。

たとえば、次のコードはIPアドレスを受け取り、作成元の市区町村を判別し、その市区町村の名前を大文字に変換します:
// Performs two transformations on a single attribute using one line of code:

toUpperCase(geotagIPAddressGetCity(IP_address))
次のコードは、前述のコードと同じ結果を得ますが、より詳細なコードです:
// The same two transformations as above, without chaining.
// 'city_name' is a temporary variable that stores the output of geotagIPAddressGetCity()

def city_name = geotagIPAddressGetCity(IP_address)
toUpperCase(city_name)

例に示すように、関数チェーンによりコードが明確になり、読みやすくなります。 さらに、2番目の例のcity_nameのように、プレースホルダー変数を含める必要はなく、コードの間違いを回避できます。