Skip to content

動的な選択肢の生成

テキスト選択テキスト複数選択数値選択では、次の方法で選択肢を生成できます。

固定リスト

固定の値から選ぶ場合に使います。

  • 設定項目: CSVテキスト
  • 各項目は改行で区切ります
  • 表示名を付ける場合は、同じ行にカンマ(,)で区切って書きます
csv
value1,表示名1
value2,表示名2

テーブル

特定テーブルのカラムから選択肢を生成する場合に使います。

設定項目内容
テーブル値を取得するテーブル
選択肢にするカラム選択肢の値として使うカラム
表示名にするカラム表示ラベルとして使うカラム(省略可。省略時は値を表示名に使います)

テーブルへの SQL は、入力に応じた絞り込みのため高頻度で実行されます。行数の少ないテーブルを指定してください。

クエリ実行結果

指定した SQL の実行結果から選択肢を生成する場合に使います。

設定項目内容
コネクションSQL を実行するコネクション
SQL選択肢を返す SQL。複数カラムを返す場合、1列目が値、2列目(あれば)が表示ラベルになります

選択肢用の SQL は頻繁に実行されるため、時間がかかる SQL やリソースを多く消費する SQL は避けてください。

SQL 内ではパラメータ参照も利用できます。例えば、大カテゴリのパラメータに応じて小カテゴリの選択肢を生成できます。参照中のパラメータが変更された場合にリセット を有効にすると、依存パラメータ変更時に選択値がデフォルトへ戻ります。

ノートブック共通 のパラメータの選択肢 SQL からは、ページ固有 のパラメータは参照できません。ページをまたいで参照できなくなるためです。ページ固有パラメータの選択肢からは、ノートブック共通・ページ固有の両方を参照できます。

SQL の実行タイミング

選択肢にテーブルまたは SQL を使う場合、次のタイミングで取得が走ります。

  1. ページ読み込み時: そのページで使用中のパラメータのみ初期化され、対応する SQL が実行されます。未使用のパラメータの SQL は実行されません
  2. ドロップダウン初回オープン時: メニューを開いたときに取得します
  3. 検索入力時: 取得済みデータの範囲内ではクライアント側でフィルタします。未取得分がある場合のみサーバーへ検索します

キャッシュ

テーブル・SQL 由来の選択肢は、次のようにキャッシュされます。

  • バックエンドでは最大 30 分間キャッシュされます
  • 同一の SQL(パラメータ値を含む)はキャッシュを使います
  • フロントエンドでも、セッション中はメモリキャッシュを維持します

そのため、ドロップダウンを繰り返し開いても、キャッシュ期間内は同じ SQL の再実行を抑えられます。