%DeepSee.Model.relationship
Class %DeepSee.Model.relationship Extends (%DeepSee.Model.node, %DeepSee.Model.source) [ System = 3 ]
Meta-data for a cube-to-cube relationship within a DeepSee cube.
Properties
cube
Relationship cube As %DeepSee.Model.cube(XMLPROJECTION = "none") [ Cardinality = one, Inverse = relationships ];
Cube that this relationship belongs to.
relatedCube
Property relatedCube As %DeepSee.Datatype.entityName(XMLPROJECTION = "attribute");
(Logical) Name of the cube this relationship refers to.
inverse
Property inverse As %DeepSee.Datatype.entityName(XMLPROJECTION = "attribute");
Name of the inverse relationship within the related cube.
cardinality
Property cardinality As %DeepSee.Datatype.string(VALUELIST = ",one,many", XMLPROJECTION = "attribute");
Cardinality of this relationship.
If "one", then this relationship refers to one fact within the related cube.
If "many", then this relationship refers to many facts within the related cube.
nullReplacement
Property nullReplacement As %DeepSee.Datatype.string(XMLPROJECTION = "attribute");
Optional. If defined, this is used as the display value for any records that have no related item.
The nullReplacement property for the entire cube is ignored by relationships.
If not defined, then missing members will not be listed by queries.
dependsOn
Property dependsOn As %DeepSee.Datatype.string(MAXLEN = 32000, XMLPROJECTION = "attribute");
If defined, this is an MDX expression identifying another level/relationship within this cube that this relationship depends on, e.g., "[Outlet].[H1].[City]"
This causes the following changes to this cube.
- An additional index is created based on the "master" level's fact and this relationship's fact.
- When the set of members for this level is produced it is filtered using this index.
factNumber
Property factNumber As %DeepSee.Datatype.string(XMLPROJECTION = "attribute");
Define a stable fact number for this relatinonship
Methods
%Validate
Method %Validate() As %Status
Test if this relationship's definition is valid.