動態フィルタは、Ragic の連動選択肢と同様、選択肢フィールドが他のフォームからリンクと読み込まれる場合、フォームのあるフィールド値に基づいて、他のフォームで選択できるオプションをフィルタできます。
例えば、このフォームには「メンバーレベル」という項目があり、「VIP」と「一般」の2つのオプションがあります。 「VIP」を選択すると、リンクと読み込みを使用してメンバーを選択する際に、VIPレベルのメンバーだけが表示されます。「一般」を選択すると、リンクや読み込みの際に、一般会員レベルの会員のみが表示されます。 そこで、この機能を利用して、必要なオプションだけを読み込むことができます。
リンクと読み込みフィールド、または他のフォームから選択フィールドに「動態フィルタ」を設定すると、リンクと読み込みの選択肢に自動的に事前フィルタをかけます。
動態フィルタを追加するには、まずデザインモードに入り、 フォームツールをクリックします。リンクワークシートの下に、リンクと読み込みのソースフォームが表示されますので、フォーム名の横にある小さなギアをクリックします。
次に、動態フィルタの設定画面が表示されますので、別のフォームのフィールド値とこのフォームのフィールド値を選択し、動態フィルタに使用するルールを設定します。他のフォームから読み込んだデータを選択した場合、ルールに合致したデータのみが表示されます。 「+」を押して複数のルールを設定したり、右の鉛筆マークを押してカスタムルールの条件を入力することもできます。
以下の例では、お客様の会員レベルに応じて、異なるVIP特典を提供したいと思います。会員特典を選択する際に、会員レベルで利用可能な特典だけを表示できるようにするために、特典リストの会員グループフィールドの値がサービス書の会員レベルフィールドの値と一致する選択肢を選択する動態フィルタを設定することが可能である。
会員を選択すると、その会員の会員レベルに属する特典のみが一覧表示されます。
動態フィルタは、リンク&読み込みを設定した子テーブルフィールドにも適用可能です。
以下の例では、注文フォームに商品一覧リンクからデータを読み込んだ子テーブルがあり、動態フィルタにより、現在特売中の商品のみが表示されます。
商品情報で特売期間の範囲を設定すると、現在特売期間中であるかどうかを確認することができます。 この機能により、商品の特売期間をあらかじめ設定できます。
下の例のように、弁当注文シートにはメニューシートからデータを読み込んだ子テーブルがあり、動態フィルタの「含まない」条件で、弁当を注文する人がアレルギーでないメニューだけを表示させることができます。子テーブルの「アレルギーの種類」フィールドに記入することで、アレルゲンを含むメニューの項目をフィルタすることができます。
また、「含む」を使えば、特定の単語を含むデータをフィルタすることができます。
また、リンクや読み込みシートに空白値が含まれることがあり、データ選択に困る可能性があるので、このパラメータを使ってフィルタすることができます: "$EMPTY_VALUE"。
動態フィルタは、システムのユーザーシートにリンクされている ユーザー選択フィールド に適用できます。フィールドの設定の横にある ギアアイコン をクリックすると、インターフェイスを開くことができます。
手順は、リンクフィールドに動態フィルタを設定するのと同じです。