%LOOKUP(termlist,key,field,default)
以下は、この指定の説明です。
%LOOKUP は、%TERMLIST と異なり、単一の値を返します。
条件リストのセルで、[Outlet].[h1].[city].[boston] など、有効なメンバ参照が定義されている場合、%LOOKUP は、このメンバ参照をリテラル値として返すのではなく、この参照を解決します。これは主に、%TERMLIST で使用するために作成された条件リストとの互換性を維持するためです。
条件リストの定義の詳細は、"InterSystems Business Intelligence の上級モデリング" の "条件リストの定義" を参照してください。
他の条件リスト関数との比較
条件リストと共に使用できる関数について、以下の表で比較します。
関数 |
目的 |
返り値 |
%LOOKUP |
指定された条件リスト項目のキーに基づいて、値を検索します。条件リスト項目の値を返します。返す既定値を指定できます。 |
数値または文字列 (これはメンバ名の場合もあります)。 |
LOOKUP |
条件リスト項目のフィールドを返します。既定では、このフィールドはキー・フィールドですが、別のフィールドを返すこともできます。返す既定値を指定できます。 |
%TERMLIST |
指定された条件リストに基づいてセットを返します。 |
セットを返します。 |
例
キーと値のペアが 1 つ存在する VALUES という名前の条件リストを考えます。
key value
CutOff 10000000
この場合、以下のように %LOOKUP を使用できます。
SELECT %LOOKUP("Values","CutOff") ON ROWS FROM HOLEFOODS
==> 1000000
もう 1 つの例として、以下のクエリは、条件リストの切り捨て値よりも人口が多い市町村のリストを返します。
SELECT FILTER(Outlet.City.Members,Outlet.H1.City.CurrentMember.Properties("Population")>%LOOKUP("Values","CutOff"))
ON ROWS,Outlet.H1.City.CurrentMember.Properties("Population") ON COLUMNS FROM HOLEFOODS
関連項目