ネストクエリ
Avonni ネストクエリ データソースを使用すると、Salesforce 組織から階層データ、具体的には親レコードとそれに関連する子レコードを、単一のクエリで取得できます。これは、ネストされた構造を必要とする Avonni Tree のようなコンポーネントでデータを表示するのに最適です。
現在、ネストクエリがサポートされているのは Avonni Tree および Avonni Relationship Graph コンポーネントのみです。
コア概念
ネストクエリとは?
ネストクエリは、親レコードの一覧を取得し、 各 親レコードごとに、関連付けられた子レコードも取得します。これにより、Salesforce データの親子関係を反映したネストされたデータ構造が作成されます。これは、フラットなレコード一覧を取得する標準のクエリとは異なります。
ネストクエリを使用するタイミング
階層データを表示する必要がある場合にネストクエリを使用します。一般的には次のようなコンポーネントで使用します。
Avonni Tree: ツリーコンポーネントは階層データの可視化に設計されているため、主なユースケースです。
他のコンポーネントでも、将来的にネストされた関係の表示が有用になる可能性があります。
ネストクエリの管理
重要な注意:ネストクエリの設定更新
ネストクエリの設定プロセスをさらに簡単にするため、機能強化を行っています。その結果、以下の このページ で説明している具体的な手順やオプションは、Avonni Dynamic Components ビルダーで利用可能な最新バージョンとわずかに異なる場合があります。これらの改善が完全にリリースされ次第、本ドキュメントも速やかに更新されます。
ネストクエリの作成
新しい Avonni ネストクエリは次の2通りの方法で作成できます。
リソースボタン経由:
をクリックして、 Resources ボタン(通常はページエディタまたはコンポーネントパネルにあります)。
新規作成のオプションから Nested Query Resource(ネストクエリ リソース).
Avonni コンポーネントから(例:Tree):
ネストクエリに接続する Avonni コンポーネント(例:Tree)を選択します。
コンポーネントのプロパティパネルで、「Create a Nested Query(ネストクエリを作成)」またはNew Nested Query(新しいネストクエリ)」というラベルのボタンまたはリンクを探してクリックします。
ネストクエリの編集
既存の Avonni ネストクエリは次の2通りの方法で変更できます。
リソースメニューから:
をクリックして、 Resources ボタン。
編集したいネストクエリを、リソース一覧の中から見つけます。
ネストクエリを編集するオプションを選択します(「編集」ボタン、鉛筆アイコン、またはクエリ名のクリックなど)。
Avonni コンポーネントから:
現在そのネストクエリを使用している Avonni コンポーネント(例:Tree)を選択します。
コンポーネントのプロパティパネル内でデータソースまたはクエリに関連するセクションを見つけます。
ネストクエリを編集するオプション(「編集」ボタン、鉛筆アイコンなど)を探します。
重要な注意事項
既存のネストクエリを変更すると、 すべての 同じネストクエリを使用しているプロジェクト内の Avonni コンポーネントに影響します。
新しいバージョンの作成(推奨): ネストクエリに変更を加えたい場合は、 他のコンポーネントに 影響を与えたくない場合は、「別名で保存」を使用して ダイナミックコンポーネントを ネストクエリのコピーを作成してください。その後、最新のコピーを変更します。
ネストクエリの設定
ネストクエリの設定では、親クエリ(最上位のレコードを取得)と子クエリ(各親に対する関連レコードを取得)の両方を定義します。
親クエリの設定
親クエリは取得したい最上位レコードを定義します。これは標準のクエリ設定と同様です。
オブジェクト: 親レコードの Salesforce オブジェクトを選択します(例:
Account
).フィールド: 親オブジェクトから取得したいフィールドを選択します。
フィルター(任意): 取得する親レコードを絞り込むフィルターを追加します(例:
種類 が「Customer」と等しい
)。ここでは静的フィルターとリアクティブフィルターの両方が使用できます。
子クエリの設定
子クエリは、 各 親レコードごとに関連レコードをどのように取得するかを定義します。
オブジェクト: 子レコードの Salesforce オブジェクトを選択します(例:
Contact
).フィールド: 子オブジェクトから取得したいフィールドを選択します。
関係フィールド: 重要:、 子 オブジェクト上で、 親 オブジェクトにそれを関連付けるフィールド(例:
フィールド(または Contacts を Accounts にリンクする関連フィールド)を選択します。
のContact
オブジェクト上のフィールド)を指定する必要があります。これによって、どの子レコードがどの親レコードに属するかをネストクエリが判断します。フィルター(任意): さらに子レコードを絞り込むフィルターを追加できます。ここでもリアクティブフィルターが使用でき、 親 レコードの属性を参照できます。例えば、取引先責任者をフィルタリングして、
通常、フィルターパネルの条件をグループ化するボタンやオプションを使用します。
が「Active」のものだけを各選択済み取引先に対して表示することができます。
例:取引先と取引先責任者
取引先と関連する取引先責任者のツリーを表示するには:
ネストクエリ リソースを作成します。
親クエリ:
オブジェクト:
Account
フィールド:
Id
,Name(名前)
(および表示したい他の取引先フィールド)
子クエリ:
オブジェクト:
Contact
フィールド:
Id
,FirstName
,LastName
,Email
関係フィールド:
フィールド(または Contacts を Accounts にリンクする関連フィールド)を選択します。
(これにより取引先責任者が親の取引先にリンクされます)
ネストクエリを Avonni Tree コンポーネントに接続します。
Tree コンポーネントを設定して 親(取引先)および子(取引先責任者)レコードから、表示したいフィールドを表示します。
リアクティブなネストクエリ
ネストクエリも標準クエリと同様にリアクティブにできます。これは、表示されるデータがユーザー操作や他のコンポーネントの変更に基づいて動的に更新されることを意味します。
親クエリでのリアクティブフィルター: リアクティブフィルターを使用して、親クエリで表示される最上位レコードを制御できます。
子クエリでのリアクティブフィルター: リアクティブフィルターを 子 クエリで使用でき、これらのフィルターは 親 レコードの属性を参照することもできます。これにより、非常に動的でコンテキストに応じたデータ表示が可能になります。例えば、どの タイプ の取引先責任者を各取引先に対して表示するかを制御するドロップダウンを用意できます。
最終更新
役に立ちましたか?