ExternalFactDimension: Boolean;
The ExternalFactDimension property determines whether the current repository dictionary is used as a facts dimension.
If the ExternalFactDimension property is set to True, the cube uses the current repository dictionary as a facts dimension. The dictionary must be included into the collection of cube dimensions; to identify the dictionary in the collection, set the IStandardCubeDimension.FactDimension property to True.
If the ExternalFactDimension property is set to False, the cube uses a local facts dimension. The local facts dimension is based on the built dictionary that is created automatically as a cube's hidden child object. To set up the built dictionary and create an element tree, get the facts dimension in the FactDimension property, then cast its structure to the ICustomDimension interface.
Regardless of the facts dimension type in use, the further access to its parameters is executed by means of the FactDimension property.
Executing the example requires that the repository contains a standard cube with Std_Cube identifier and a dictionary with the F_Dim identifier.
Sub UserProc;
Var
MB: IMetabase;
StdCub: IStandardCube;
Dim: IDimensionModel;
StDim: IStandardCubeDimension;
Begin
MB := MetabaseClass.Active;
StdCub := MB.ItemById("Std_Cube").Edit As IStandardCube;
Dim := MB.ItemById("F_Dim").Bind As IDimensionModel;
//Include dictionary into cube and assign it as a fact dimension
StDim := StdCub.Dimensions.Add(Dim);
StdCub.ExternalFactDimension := True;
StDim.FactDimension := True;
//Save
(StdCub As IMetabaseObject).Save;
End Sub UserProc;
After executing the example the Dim_1 dictionary is added to the cube. This dictionary is used as cube facts dimensions.
See also: