クエリ

Avonni Query Data Source

Avonni Query Data Source は、App & Record ページ内で Avonni コンポーネント(Data Table、List、Carousel、Map)を Salesforce のデータに接続できる機能です。表示する内容や表示方法を正確に制御できる、柔軟で効率的なデータ取得と表示の手段を提供します。


コア概念

Avonni Query Data Source とは?

Avonni Query Data Source は、Avonni コンポーネント(Data Table、List、Carousel、Map など)を Salesforce のデータに直接接続する強力な方法です。App & Record ページ内でデータを取得して表示するための柔軟で効率的な手段を提供し、どのデータをどのように表示するかを細かく制御できます。

再利用可能なクエリ

クエリを再利用可能なリソースとして作成し、その同じクエリを Dynamic Component 内の複数の Avonni コンポーネントで使用できます。これにより一貫性が促進され、メンテナンスが簡素化されます。


クエリの管理

クエリの作成

新しい Avonni クエリを作成する方法は2つあります:

  • Resources ボタン経由: をクリックします Resources ボタンをクリックして新しい Query Resource.

  • Avonni コンポーネントから: コンポーネント(例: Data Table)を選択し、そのプロパティで「Create a Query」ボタンをクリックします

クエリの編集

既存の Avonni クエリは2つの方法で変更できます:

  • Resources メニューから:

    1. をクリックします Resources ボタン。

    2. リソースの一覧から編集したいクエリを見つけます。

    3. クエリ名をクリックしてクエリを編集するオプションを選択します。

  • Avonni コンポーネントから:

    1. 現在そのクエリを使用している Avonni コンポーネント(例: Data Table、List)を選択します。

    2. コンポーネントのプロパティパネルでデータソースまたはクエリに関連するセクションを見つけます。

    3. クエリを編集するオプション(「編集」ボタン)を探します。

重要な注意点

新しいバージョンの作成(推奨)


データのフィルタリング

クエリフィルターの設定

Avonni Dynamic Components では、SOQL クエリの WHERE 句を使用するのに似た方法で、クエリによって取得されるデータをフィルタリングできます。これにより、Data Table、List、Map などのコンポーネントに表示されるレコードを制御できます。

フィルターの種類

  • 静的フィルター: これらのフィルターは固定値を使用します。フィールド、演算子、および特定の値(例: Location equals 'New York')を選択して、クエリのフィルターパネルで直接定義します。静的フィルターは 自動的に ユーザーの操作に基づいて変更されません。

  • リアクティブフィルター: これらのフィルターは動的な値を使用し、 変更 ユーザーの操作や他のコンポーネントの変化に基づいて変わります。固定値を入力する代わりに、ページ上の別のコンポーネントの属性を参照します(例: @AccountsTable.firstSelectedRow.Id)。これにより動的なリンクが作成され、参照される属性が変わるたびにクエリが自動的に更新されます。詳細は [Reactive Queries documentation](Insert Link to Reactive Queries Section Here) を参照してください。

静的フィルターの設定(例)

Location が New York である Contact レコードを取得するには:

  1. コンポーネントを選択: フィルタリングしたいコンポーネント(例: Contacts を表示する Data Table)を選択します。

  2. フィルターパネルを開く: コンポーネントのプロパティパネルで、データソースとそのフィルターを設定するセクションを見つけて開きます。

  3. フィルター条件を追加:

    • フィールド: フィールド(または場所情報を含むフィールド)を選択します。 New York フィールドを選択します。

    • 演算子: 演算子を選択します。 equals 演算子を選択します。

    • 値: テキストを入力します 'New York' (テキスト値の場合はシングルクオートを含めてください)。

この設定により、コンポーネントは該当の New York フィールドが 'New York' と等しい Contact のみを表示します

フィルター条件のグループ化

AND 論理を使用して条件をグループ化することで、より複雑なフィルターを作成できます。例えば、 ANDまたは Location が 'New York' または 'San Francisco' で、かつ New York is 'San Francisco', AND the ステータス が 'Active' である Contact を取得するには:

  1. グループを作成します: フィルターパネルのグルーピング機能を使用します(通常は条件をグループ化するためのボタンやオプションで表示されます)。

  2. グループに条件を追加します:

    • Location equals 'New York'

    • Location equals 'San Francisco'

  3. グループ演算子を設定します: 作成したグループの演算子を変更して または.

  4. グループの外に別の条件を追加します:

    • Status equals 'Active'

  5. デフォルトでは、条件とグループは AND 演算子を選択します。

利用可能なフィルター演算子

Avonni Query Data Source は、精確なフィルターを作成するためのさまざまな演算子をサポートしています:

  • 比較演算子:

    • equals ( = )

    • 等しくない ( <> または != )

    • より小さい ( < )

    • より大きい ( > )

    • 以下 ( <= )

    • 以上 ( >= )

  • 文字列演算子:

    • 含む

    • で始まる

    • で終わる

  • 集合演算子:

    • in

    • に含まれない

  • 論理演算子(グループ化用):

    • AND

    • または

    • NOT


リアクティブクエリ

リアクティブクエリの紹介

リアクティブクエリは 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 のクエリを、 AccountsTable.

  • フィルターを設定するときに、 AccountId フィールド(または Contacts を Accounts にリンクする関連フィールド)を選択します。

  • フィルターの値には、 Id 参照する 属性を直接指定します(選択された行 の属性)。 AccountsTableにある @AccountsTable.firstSelectedRow.Id.

  • このように、ユーザーが Accounts Table で別の行を選択すると、選択された行の属性からの値が動的に変わり、Contact Table がリアクティブになります。

自動更新

参照されている属性の値が変わるたび(例: AccountsTableで新しい行が選択されるなど)、クエリは自動的に再実行され、接続されたコンポーネント(Contacts Data Table)は新しい結果を表示するように更新されます。

最終更新

役に立ちましたか?