クエリ
Avonni クエリデータソース
Avonni クエリデータソースは、App & Record ページ内で Avonni コンポーネント(Data Table、List、Carousel、Map)を Salesforce データに接続することを可能にします。表示する内容と方法を正確に制御できる、柔軟で効率的なデータ取得および表示手段を提供します。
コア概念
Avonni クエリデータソースとは?
Avonni クエリデータソースは、Avonni コンポーネント(Data Table、List、Carousel、Map など)を Salesforce データに直接接続する強力な方法です。App & Record ページ内でデータを取得して表示するための柔軟で効率的な手段を提供し、どのデータをどのように表示するかを細かく制御できます。
再利用可能なクエリ
クエリを再利用可能なリソースとして作成し、その同じクエリを Dynamic Component 内の複数の Avonni コンポーネントで使用できます。これにより一貫性が促進され、保守が簡素化されます。
クエリの管理
クエリの作成
新しい Avonni クエリを作成する方法は2つあります:
リソースボタン経由: をクリックして、 Resources ボタンを押して新しい クエリリソース.
Avonni コンポーネントから: コンポーネント(例:Data Table)を選択し、そのプロパティで「クエリを作成」ボタンをクリックします
クエリの編集
既存の Avonni クエリは2つの方法で変更できます:
リソースメニューから:
をクリックして、 Resources ボタン。
リソースの一覧で編集したいクエリを見つけます。
クエリ名をクリックしてクエリの編集オプションを選択します。
Avonni コンポーネントから:
現在そのクエリを使用している Avonni コンポーネント(例:Data Table、List)を選択します。
コンポーネントのプロパティパネル内でデータソースまたはクエリに関連するセクションを見つけます。
クエリを編集するオプション(「編集」ボタン)を探します。
新しいバージョンの作成(推奨)
クエリに変更を加えたいが、 他のコンポーネントに 影響を与えたくない場合は、「別名で保存」または「複製」オプション(利用可能な場合)を使用してクエリの ダイナミックコンポーネントを コピーを作成し、最新のコピーを変更してください。
データのフィルタリング
クエリフィルターの設定
Avonni Dynamic Components では、SOQL クエリの WHERE
句のように、クエリで取得するデータをフィルタリングできます。これにより、Data Table、List、Map などのコンポーネントに表示されるレコードを制御できます。
フィルターの種類
静的フィルター: これらのフィルターは固定値を使用します。クエリのフィルターパネルでフィールド、演算子、および特定の値(例:
Location が 'New York' と等しい
)を選択して直接定義します。静的フィルターは、 ユーザー操作に応じて 自動的には変わりません。リアクティブフィルター: これらのフィルターは、 ユーザー操作や他のコンポーネントの変更に基づいて自動的に変化する 動的な値を使用します。固定値を入力する代わりに、ページ上の別のコンポーネントの属性を参照します(例:
@AccountsTable.firstSelectedRow.Id
)。これにより動的なリンクが作成され、参照された属性が変更されるたびにクエリが自動的に更新されます。詳細は[Reactive Queries ドキュメント](ここに Reactive Queries セクションへのリンクを挿入してください)をご覧ください。
静的フィルターの設定(例)
Location が 'New York'
である Contact レコードを取得するには:
コンポーネントを選択: フィルタリングしたいコンポーネント(例:Contacts を表示する Data Table)を選びます。
フィルターパネルを開く: コンポーネントのプロパティパネルで、データソースとそのフィルターを設定するセクションを見つけて開きます。
フィルター条件を追加:
フィールド: 位置情報を含む
'New York'
フィールド(または該当するフィールド)を選択します。演算子: 等しい
演算子を選択します。
テキスト値: 'New York'
(テキスト値としてシングルクォートを含めて)を入力します。
この設定により、コンポーネントはその
フィールドが 'New York' と等しい Contact のみを表示するようにフィルタリングされます。 'New York'
フィルター条件のグループ化
AND
論理を使用して条件をグループ化することで、より複雑なフィルターを作成できます。例えば、Contact の が 'New York' または 'San Francisco' で、かつ
および ステータス
が 'Active' の場合: 'New York'
グループを作成: 通常、フィルターパネルの条件をグループ化するボタンやオプションを使用します。
グループに条件を追加:
Location が 'San Francisco' と等しい グループ演算子を設定:
作成したグループの演算子を
Location が 'New York' と等しい
に変更します。
別の条件を(グループ外に)追加: Status が 'Active' と等しい
ステータス
.デフォルトでは、条件とグループは
で組み合わされます。
利用可能なフィルター演算子
が 'New York' または 'San Francisco' で、かつ
テキスト
Avonni クエリデータソースは、正確なフィルターを作成するためのさまざまな演算子をサポートしています:
比較演算子:
等しくない
演算子を選択します。
( = )( <> または != )
より小さいより大きい
( < )以下(小なりイコール)
( > )以上(大なりイコール)
( <= )文字列演算子:
( >= )
含む
で始まる
で終わる
集合演算子
in(含む):
not in(含まない)
論理演算子(グルーピング用):
NOT(否定)
が 'New York' または 'San Francisco' で、かつ
ステータス
リアクティブクエリ
リアクティブクエリの紹介
リアクティブクエリは Avonni Dynamic Components のコア機能であり、コンポーネント(Data Table、List、Map など)がユーザー操作や他のコンポーネントの変更に基づいて表示データを自動的に更新できるようにします。これにより、手動でページをリフレッシュする必要なく、動的で応答性の高いユーザー体験が実現します。すべての Avonni Dynamic Components はネイティブにリアクティブ対応です。
リアクティブクエリの仕組み
Avonni Dynamic Components のリアクティブクエリは、ページ上の他のコンポーネントの変更に基づいてコンポーネント(Data Table、List、Map など)のデータを自動的に更新します。これは、
複雑な式を書く必要がなく、代わりにクエリのフィルター内で他のコンポーネントの属性を直接参照することで実現されます。 他のコンポーネントに 属性の直接参照
クエリのフィルターを設定する際に、ページ上の他のコンポーネントの属性を選択できます。例えば:
Accounts を表示する Data Table(これを
AccountsTable
と呼ぶことにします)と Contacts を表示する別の Data Table がある場合、Contacts Data Table のクエリを Accounts の選択行に基づいてフィルターするように設定できます。
Contacts Data Table のフィルターでは、と呼ぶことにします)と Contacts を表示する別の Data Table がある場合、Contacts Data Table のクエリを Accounts の選択行に基づいてフィルターするように設定できます。
.AccountId
フィールド(または Contacts を Accounts にリンクする関連フィールド)を選択します。
フィルターの値には、選択された行の
Id
属性を直接参照します。 これは、 内のと呼ぶことにします)と Contacts を表示する別の Data Table がある場合、Contacts Data Table のクエリを Accounts の選択行に基づいてフィルターするように設定できます。
選択された行@AccountsTable.firstSelectedRow.Id
.の属性のようなものを参照することを意味します。これは次のように見える場合があります:
ユーザーが Accounts Table で別の行を選択すると、選択された行の属性からの値が動的に変化し、Contacts Table がリアクティブになります。
自動更新 と呼ぶことにします)と Contacts を表示する別の Data Table がある場合、Contacts Data Table のクエリを Accounts の選択行に基づいてフィルターするように設定できます。
参照されている属性の値が変わるたび(例:
最終更新
役に立ちましたか?