Table of Contents

Class Join

Inheritance
Join
Implements
Inherited Members
Namespace
TabularEditor.SemanticBridge.Platforms.Databricks.MetricView
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.