ExternalFactDimension: Boolean;
The ExternalFactDimension property determines whether the current repository dictionary is used as a fact dimension.
If the ExternalFactDimension property is set to True, the cube uses the current repository dictionary as a fact dimension. The dictionary should be included in the collection of cube dimensions, to identify it in the collection, set the IStandardCubeDimension.FactDimension property to True.
If the ExternalFactDimension property is set to False, the cube uses a local fact dimension. The local fact 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 to create an element tree, one should get a fact dimension in the FactDimension property, and then cast its structure to the ICustomDimension interface.
Regardless of which fact dimension type is used, its parameters will be accessed via 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 a cube fact dimension.
See also: