Studioのデータソースには親と子を設定できます。子データソースは、基本的に、親データソースのサブセットです。
たとえば、親データソースには、ある会社に関するトランザクション・レコードがすべて含めることができます。子データソースには、合衆国のトランザクション・レコードのみを含めることができます。
子データソース自体が子を持つこともできます。たとえば、合衆国のトランザクションを含む子データソースに、ニューヨークのトランザクションや、特定のディストリビュータが処理したトランザクションのみを含む子データソースを設定できます。
関連するデータソースに対する絞込みが現在のデータソースに影響するかどうかを構成できます。
子データソースは、通常、その親データソースと同一のサーバー、ポートおよびデータ・ドメイン名を持っています。
| 設定 | 説明 |
|---|---|
| parentDataSource | 親データソースのid |
次に、子データソース用にbaseFunctions設定をフィルタ付きで構成します。
デフォルトでは、子データソースの現在の問合せ状態は、親データソースの現在の問合せ状態に子データソースからのフィルタを加えたものです。たとえば、親データソースに1999のトランザクションのみが含まれるように絞り込んでいる場合は、子データソースには、1999 (親データソースの絞込み)の合衆国(子データソースのフィルタ)のトランザクションのみが含まれます。
たとえば、エンド・ユーザーが子データソースにバインドされているガイド付きナビゲーション・コンポーネントからの絞込みを選択すると、その親データソースにバインドされているコンポーネントもその絞込みで更新されます。
親データソース自体が子データソースである場合は、その変更はその親にも適用されます。
この処理は、親を持たないデータソースに到達するまで、それぞれの親に順に適用されます。
その子データソース自体に子がある場合は、その変更はその子にも適用されます。
この処理は、親を持たないデータソースに到達するまで、それぞれの子に順に適用されます。
たとえば、次のデータソース階層を参照してください。
関連するデータソースがあるデータソースの場合、選択的絞込みを使用してデフォルトの絞込み動作を上書きできます。選択的絞込みを使用すると、関連するデータソースに対する絞込みが現在のデータソースに与える影響を制御できます。
最小の構成は、選択的絞込みの有効化です。選択的絞込みを有効化すると、関連するデータソースに対する絞込みは、その絞込みに使用した属性が両方のデータソースに存在する場合にのみ、現在のデータソースに影響します。
組み込む属性の選択に正規表現を使用するように選択的絞込みを構成できます。特定の属性を除外したり含めることもできます。
選択的絞込みを実装するには、selectiveRefinements設定をデータソース定義に追加します。selectiveRefinements設定では、次のパラメータを使用できます。
| selectRefinementsパラメータ | 説明 |
|---|---|
| enabled | 必須。選択的絞込みを有効化するかどうか。
trueに設定すると、関連するデータソースに対する絞込みは、その絞込みに使用した属性が両方のデータソースに存在する場合にのみ、現在のデータソースに適用されます。 falseに設定すると(デフォルト)、関連するデータソースのすべての絞込みが現在のデータソースに適用されます。 |
| autoDetect | 必須。絞込みに使用する属性を自動的に検出するかどうか。
trueに設定すると(デフォルト)、属性は自動的に検出されます。 また、autoDetectPatternを使用して、絞込みを適用する属性を検出するための正規表現を作成することもできます。 falseに設定すると、絞込みに使用される属性は、includedAttributesパラメータが提供した属性のみになります。 |
| autoDetectPattern | 関連するデータソースの絞込みの保持対象となる属性の決定に使用される正規表現。
たとえば、これを^Supplier.+に設定した場合は、属性キーがSupplierで始まる属性の絞込みのみを保持することを示しています。 |
| excludedAttributes | オプション。関連するデータソースの絞込みの無視対象となる属性のカンマ区切りリスト。
属性を指定する際は、属性キーを使用します。 たとえば、次の構成では、色および袖のタイプによる絞込みが除外されます。 "selectiveRefinements":{
"enabled":true,
"excludedAttributes":["Color","Sleeve_Type"]
}
|
| includedAttributes | オプション。絞込みの保持対象となる属性のカンマ区切りリスト。
属性を指定する際は、属性キーを使用します。 autoDetectがfalseの場合、ここに属性を指定しないと、Studioでは関連するデータソースの絞込みが適用されません。 autoDetectPatternを属性の検出に使用している場合は、ここで指定した属性が、自動的に検出された属性に加えて使用されます。 たとえば、次の構成では、価格と地域による絞込みを自動検出された属性に追加します。 "selectiveRefinements":{
"enabled":true,
"autoDetectPattern":"Customer.+",
"includedAttributes":["Price","Sales_Region"]
}
|
子データソースの次の例では、親データソースのIDはall-transactionsです。
この子データソースには、all-transactionsからのデータで、仕入先タイプがImporterのレコードのみが含まれるように絞込みされます。
この選択的絞込みでは、顧客割引を除く顧客関連属性が保持され、販売地域と販売員がその保持された絞込みに追加されることを示しています。
{
"server":"server01.lab.acme.com",
"port":"5555",
"dataDomainName":"acmeDB"
"name":"Importer Transactions"
"parentDataSource":"all-transactions",
"baseFunctions": [
{"class":"com.endeca.portal.data.functions.DataSourceFilter",
"filterString":"Supplier_Types='Importer'"
}
]
"selectiveRefinements":{
"enabled":true,
"autoDetect":true,
"autoDetectPattern":"^Customer.+",
"includedAttributes":["Sales_Region","Sales_Rep"],
"excludedAttributes":["Customer_Discount"]
}
}