Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

%LOOKUP

条件リストから値を 1 つ返します。この関数は、インターシステムズによる MDX への拡張機能です。

返りタイプ

この関数は、数値または文字列を返します。

構文および詳細

%LOOKUP(termlist,key,field,default)

以下は、この指定の説明です。

  • termlist は、条件リストの名前です。

  • key は、その条件リストのキー値です。

  • field は、値を取得するために使用するオプションのフィールド (列) 名です。既定では、value 列が返されます。

  • default は、条件リスト、キー、またはフィールドが見つからない場合に返す値です。

%LOOKUP は、%TERMLIST と異なり、単一の値を返します。

条件リストのセルで、[Outlet].[h1].[city].[boston] など、有効なメンバ参照が定義されている場合、%LOOKUP は、このメンバ参照をリテラル値として返すのではなく、この参照を解決します。これは主に、%TERMLIST で使用するために作成された条件リストとの互換性を維持するためです。

条件リストの定義の詳細は、"DeepSee 上級モデリング・ガイド" の “条件リストの定義” を参照してください。

他の条件リスト関数との比較

条件リストと共に使用できる関数について、以下の表で比較します。

関数 目的 返り値
%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

関連項目

FeedbackOpens in a new tab