pub enum ObjectId {
Table {
table: NameKey,
},
Column {
table: NameKey,
column: NameKey,
},
Measure {
table: NameKey,
measure: NameKey,
},
Hierarchy {
table: NameKey,
hierarchy: NameKey,
},
Partition {
table: NameKey,
partition: NameKey,
},
Relationship {
from_table: NameKey,
from_column: NameKey,
to_table: NameKey,
to_column: NameKey,
},
Role {
role: NameKey,
},
CalculationItem {
table: NameKey,
item: NameKey,
},
Expression {
name: NameKey,
},
Function {
name: NameKey,
},
ReportMeasure {
measure: NameKey,
},
}Expand description
Stable, case-insensitive identity of a model or report object — the node key of the dependency graph.
Every name is a NameKey, so two ObjectIds that differ only in casing are the
same node. Ordering (used to give analysis output a deterministic order) follows
the folded names, never the original casing.
Variants§
Table
A table.
Column
A column, identified by its owning table.
Measure
A measure. The home table is part of the identity for display purposes only; the engine guarantees measure names are unique across the whole model.
Hierarchy
A hierarchy defined on a table.
Partition
A partition (Power Query / M source) of a table.
Relationship
A relationship, identified by its endpoints. TMDL relationship names are GUIDs kept for diagnostics only, and a column pair carries at most one relationship, so the four endpoint names are the stable identity.
Fields
Role
A security role.
CalculationItem
An item of a calculation group, identified by the calculation group’s table.
Expression
A shared model-level M expression (e.g. a parameter or a shared query).
Function
A user-defined DAX function (TOM function). Names are model-global.
ReportMeasure
A report-level measure (reportExtensions.json). Lives in the report, not the model, so it does not share the model’s measure namespace: a distinct variant avoids ever conflating the two.
Implementations§
Source§impl ObjectId
impl ObjectId
Sourcepub fn owning_table(&self) -> Option<&NameKey>
pub fn owning_table(&self) -> Option<&NameKey>
The model table this object belongs to — a relationship reports its “from”
side, and objects with no model table (roles, shared expressions, functions,
report measures) have none. The name is data, not display: render it with
NameKey::quoted for the single-quoted form the finding ids use.
Trait Implementations§
impl Eq for ObjectId
Source§impl Ord for ObjectId
impl Ord for ObjectId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for ObjectId
impl PartialOrd for ObjectId
impl StructuralPartialEq for ObjectId
Auto Trait Implementations§
impl Freeze for ObjectId
impl RefUnwindSafe for ObjectId
impl Send for ObjectId
impl Sync for ObjectId
impl Unpin for ObjectId
impl UnsafeUnpin for ObjectId
impl UnwindSafe for ObjectId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.