ルックアップ関数:コマンドと構文
ルックアップ機能を使用して、ユーザー管理テーブルから情報を返します。
CPQ は、SQL ベースのクエリ言語を使用して、ユーザー管理テーブルを検索します。
ルックアップ関数はテーブルから最大 10,000 行を返し、検索がまだクエリーを実行している場合は 30 秒後にタイムアウトします。CSV ファイルを管理テーブルにアップロードする方法については、「 マトリクスローダー:CSV テーブルのアップロード」を参照してください。
ルックアップ関数を使用するための一般的なガイドラインについては、「 テーブルクエリの最小化」を参照してください。
サポートされているコマンド
- SELECT はテーブルから列を選択します ("," で区切られます)
- FROM クエリがデータを取得するテーブルを選択します
- WHERE は、他の列が検索される条件を設定します
- AND は 2 つの WHERE 条件 (両方とも true である必要があります) を結合します
- OR は 2 つの WHERE 条件 (どちらかが true の場合あり) を結合します
構文
クエリ例:
var tableResults = lookup("SELECT column1, column2 FROM tableName WHERE column3 = :key1 OR (column4 != :key2 AND column5 IN :list)", {"key1": "value", "key2":cfg.[singleFieldName], "list":cfg.[multiFieldName]});
最初のパラメーターは、管理対象テーブルのクエリに使用される SQL ベースのコマンド文字列です。
2 番目のパラメーターは、クエリに挿入されるキー値マップです。値は、定数、変数、またはフィールドにすることができます。
tableResults 変数は、結果の配列を保持します。この変数自体を返すことはできません。結果はインデックス (tableResults[0]、tableResults[1]...) によって参照される必要があり、任意の数の結果を含めることも、含めないこともできます。
「...インデックス「0」が範囲外です...」テーブルルックアップで作業する場合、空のアレイを参照しようとしている可能性があります。テーブルの結果に対して null チェックを実行することをお勧めします。
コンパレータ:
- =
- 次の値に等しい
- !=
- 次の値と等しくない
- >
- 次の値を超える
- <
- 次の値未満
- >=
- 次の値以上
- IN
- いずれか (セット内の) に等しい
IN の形式は、次の形式の任意のコレクションで機能します。
lookup("SELECT column1 FROM table WHERE column2 IN (:options)",{options = cfg. [multi picklistField]});