参照(Reference)タイプの参照修飾子の種類
参照(Reference)タイプで使用できる参照修飾子の種類は下記の3つです。
- Simple(簡易参照修飾子)
- Dynamic(動的参照修飾子)
- Advanced(詳細参照修飾子)
カタログ変数、テーブルのカラム(ディクショナリ)で参照タイプを選んだ時にフィルター条件をほとんど静的に(固定値)で設定する場合は簡易参照修飾子を使用して、フィルター条件を動的に設定する場合は動的参照修飾子、または詳細参照修飾子を使用します。
Simple(簡易参照修飾子)
参照タイプのカタログ変数かテーブルのカラム(ディクショナリ)でフィルター条件をほとんど静的に(固定値)で設定するには、Type SpecificationsのタブにあるUse reference qualifierからSimpleを選択します。
※使用しているカタログ変数やカタログアイテムについてはこちらで作成したものを変更して使用しています。
Reference qualifier conditionで以下の画像のようにフィルター条件を設定していきます。
AND や OR ボタンを押して条件を追加したり、And Filiter Condition や Add ”OR” Clause でフィルターを追加したりできます。
最大で設定できる簡易参照修飾子は13個までとなっているため、それ以上になる場合は固定値であっても詳細参照修飾子などを使います。
フィルター条件をほとんど静的に(固定値)としていますが、is (dynamic)という演算子を設定することで動的に変えることが出来るので上記のような書き方をしています。
Dynamic(動的参照修飾子)
参照タイプのカタログ変数かテーブルのカラム(ディクショナリ)でDynamicを設定するには、Dynamic Filiter Optionというものを作成する必要があります。
Dynamic Filiter Option(動的フィルターオプション)の作成
まず、Use reference qualifierからDynamicを選択します。その後にDynamic reference qualifierにある虫眼鏡のマークをクリックし、開かれたウィンドウからNew をクリックします。
下記の表の通りに入力してDynamic Filter Optionを作成します。
Label | Only members in the group |
Script | “group=” + current.variables.group; |
Field type | Reference |
Order | 100 |
Available for ref qual | True |
Dynamic reference qualifierに作成したものを設定します。
テスト
設定した後に動作確認をしてみましょう。Groupで選んだGroup Memberのみ表示されていれば問題ないです。
右側の最後にある3つのチェックボックスの意味が文字だけだとわからないので下記にまとめ
Available for filter
Simpleでis(dynamic)を選んだ時に表示されるようにする
Available for default
テーブルカラム(ディクショナリ)のデフォルト値で表示されるようにする
※Advanced View時のみ表示される
Available for ref qual
Dynamicを選んだ時にDynamic reference qualifierに表示されるようにする
Advanced(詳細参照修飾子)
こちらはDynamicのように何かを作成してから設定するのではなく、直接スクリプトなどを入力して設定することが出来ます。
実際に設定する内容はLookup Select Boxと変わらないのでこちらの記事で設定している内容と同じとなるので割愛します。
テーブルカラム(ディクショナリ)で設定する際には下記のようにスクリプトが変わります。
current.group;// カタログ変数にあるvariablesが不要になる
まとめ
参照タイプのフィルター条件が固定値で良い場合はSimple。動的にしたいならAdvancedを使う。
というのが、一番簡単に設定出来て使用頻度が高いと思います。
Dynamicを使用するときは同じ条件を別の項目にも設定したい。フィルター条件をエンコードクエリなどで直接使いたい。というときに作成することが多いのかなと思います。(Dynamic使用することが今まで一度もなかったため…)