Class Join
- Inheritance
-
Join
- Implements
- Inherited Members
- Assembly
- SemanticBridge.dll
Represents a join definition in a Databricks Metric View
public class Join : MetricViewObjectBase, IMetricViewObject, IMetricViewNamedObject
- Extension Methods
Properties
Cardinality
Controls the relationship between the source and the joined table.
Per spec, cardinality: defaults to many_to_one: the
joined table acts as a dimension lookup. Set
OneToMany to aggregate the joined
table as a separate fact source. Three states round-trip faithfully:
null (YAML omitted; spec-equivalent to many_to_one),
ManyToOne (explicit), and
OneToMany. Requires YAML spec 1.1+.
[MinVersion("1.1")]
public JoinCardinality? Cardinality { get; set; }
Property Value
| Type | Description |
|---|---|
| JoinCardinality? |
Joins
Child joins that are part of this join definition
public MetricViewCollection<Join> Joins { get; }
Property Value
| Type | Description |
|---|---|
| MetricViewCollection<Join> |
Name
Name of the joined table
public required string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
On
Optional SQL boolean expression for the join condition
public string? On { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ParentJoin
Parent join if this is a nested join, null if this is a top-level join.
public Join? ParentJoin { get; }
Property Value
| Type | Description |
|---|---|
| Join |
Path
public override string Path { get; }
Property Value
| Type | Description |
|---|---|
| string |
Rely
Optimizer hints about the join's relationship to its source.
Currently the map only carries AtMostOneMatch;
the spec is shaped as an extensible map for future keys.
Conservatively gated to YAML spec 1.1+: rely: was not
part of the v0.1 spec, so emitting it on a v0.1 view would
produce YAML that pre-v1.1 tooling can't read. The current
spec's feature-availability table ties rely.at_most_one_match
to DBR 18.1 without restating a YAML version requirement; we
keep the YAML gate as a compatibility restriction.
[MinVersion("1.1")]
public Rely? Rely { get; set; }
Property Value
| Type | Description |
|---|---|
| Rely |
Source
Source table or query for the join
public required string Source { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Using
Optional list of column names to use for join
public IReadOnlyCollection<string>? Using { get; set; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyCollection<string> |
Methods
AddJoin(string, string)
Adds a child join to this join definition
public Join AddJoin(string name, string source)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | |
| string | source |
Returns
| Type | Description |
|---|---|
| Join |
Delete()
Deletes this object from its parent collection. After deletion, the object becomes a zombie (IsDeleted=true, View=null).
public override void Delete()
Exceptions
- InvalidOperationException
Thrown if the object is not attached to a View or is already deleted.