LOOKUP関数の構文について

LOOKUP関数は通常、「ビジネス・モデルとマッピング」レイヤーで、翻訳済の論理表列の式として使用されます。

LOOKUP関数の構文は、次のようになります。

Lookup ::= LookUp([DENSE] value_column, expression_list ) | LookUp(SPARSE value_
column, base_column, expression_list )

expression_list ::= expr {, expression_list }

expr ::= logical_column | session_variable | literal

例:

LOOKUP( SPARSE SnowflakeSales.ProductName_TRANS.ProductName, SnowflakeSales.Product.ProductName, SnowflakeSales.Product.ProductID, VALUEOF(NQ_SESSION."LANGUAGE"))

LOOKUP( DENSE SnowflakeSales.ProductName_TRANS.ProductName, SnowflakeSales.Product.ProductID, VALUEOF(NQ_SESSION."LANGUAGE"))

次の点に注意してください。

  • LOOKUP関数は密または疎のいずれかで、キーワードDENSEまたはSPARSEを使用して指定します。DENSESPARSEをどちらも指定しない場合、デフォルト動作は密参照になります。DENSE参照の場合、翻訳表は内部結合を通じてベース表に結合されますが、SPARSE参照の場合は左外部結合が実行されます。

  • 第1パラメータ(DENSEまたはSPARSEキーワードの後のパラメータ)は、論理レイヤーで定義されている有効な参照表の有効な値列にする必要があります。

  • SPARSEキーワードを指定した場合、第2パラメータは、value_columnのベース値を提供する列にする必要があります。DENSE参照の場合、このベース列は必要ありません。

  • expression_listの式の数は、value_columnで定義した、参照表で定義されている参照キー列の数と同じにする必要があります。また、式リストで指定した式は、参照キー列と1対1で順番に一致している必要があります。

    例:

    • 参照表ProductName_TRANSの参照キーは、Product_codeおよびLanguage_Keyの両方です。

    • expression_listの式は、SnowflakeSales.Product.ProductIDおよびVALUEOF(NQ_SESSION."LANGUAGE")です。

    • この参照の意味を次に示します。

      Product_code = SnowflakeSales.Product.ProductIDおよびLanguage_Key = VALUEOF(NQ_SESSION."LANGUAGE")という条件を使用して、翻訳表からProductNameの翻訳済の値を戻します。