import JoinTableDataSource from "@arcgis/core/rest/layerSources/JoinTableDataSource.js";const JoinTableDataSource = await $arcgis.import("@arcgis/core/rest/layerSources/JoinTableDataSource.js");- Inheritance:
- JoinTableDataSource→
Accessor
- Since
- ArcGIS Maps SDK for JavaScript 5.0
The result of an on-the-fly join operation at runtime. Nested joins are supported.
To use nested joins, set either leftTableSource or rightTableSource to join-table.
Example
let layer = new MapImageLayer({ url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer", sublayers: [{ id: 0, renderer: renderer, opacity: 0.9, source: { type: "data-layer", dataSource: { type: "join-table", leftTableSource: { type: "map-layer", mapLayerId: 3 }, rightTableSource: { type: "data-layer", dataSource: { type: "table", workspaceId: "CensusFileGDBWorkspaceID", dataSourceName: "ancestry" } }, leftTableKey: "STATE_NAME", rightTableKey: "State", joinType: "left-outer-join" } } }]});Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
| Property | Type | Class |
|---|---|---|
declaredClass readonly inherited | ||
| | ||
| | ||
| | ||
| | ||
| | ||
type readonly | "join-table" | |
joinType
- Type
- JoinType
The type of join that will be performed.
| Possible Value | Description |
|---|---|
| left-outer-join | Unmatched records in the left table source are preserved and joined with null values in the right table source. |
| left-inner-join | Records in the left table source are discarded if they are unmatched with records in the right table source. |
leftTableKey
- Type
- string
The field name used for joining or matching records in the left table to records in the right table.
leftTableSource
- Type
- DynamicMapLayer | DynamicDataLayer
The left table for joining to the right table source. This can either be a dynamic map layer or a dynamic data layer. The dynamic data layer may contain another join data source used for nested joining.
rightTableKey
- Type
- string
The field name used for joining or matching records in the right table to records in the left table.
rightTableSource
- Type
- DynamicMapLayer | DynamicDataLayer
The right table for joining to the left table source. This can either be a dynamic map layer or a dynamic data layer. The dynamic data layer may contain another join data source used for nested joining.
Methods
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter often comes from a response to a query operation in the REST API or a
toJSON()
method from another ArcGIS product. See the Using fromJSON()
topic in the Guide for details and examples of when and how to use this function.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. | |
- Returns
- any
Returns a new instance of this class.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.