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
を使用して指定します。DENSE
とSPARSE
をどちらも指定しない場合、デフォルト動作は密参照になります。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の翻訳済の値を戻します。
-