ElementGroup: IDimElementGroup;
The ElementGroup property determines a group of elements selection.
Executing the example requires a time series database with the OBJ_RUBRICATOR identifier. COUNTRY is the custom attribute of database indicators that refers to the dictionary. D_COUNTRY is a group of elements of this dictionary. A model with the MODEL_ATTR identifier must be available in the modeling container of this database.
Add links to the Cubes, Dimensions, Metabase, Ms, Rds system assemblies.
Sub UserProc;
Var
ActiveMetabase: IMetabase;
Ruby: IRubricator;
MsDescr: IMetabaseObjectDescriptor;
Model: IMsModel;
Transform: IMsFormulaTransform;
TransformVar: IMsFormulaTransformVariable;
Coord: IMsFormulaTransformCoord;
Slice: IMsFormulaTransformSlice;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
Det: IMsDeterministicTransform;
Term: IMsFormulaTerm;
TermInfo: IMsFormulaTermInfo;
MetaAttr: IMetaAttribute;
MetaVals: IMsMetaAttributeValues;
DimKey: Integer;
Group: IDimElementGroup;
Begin
ActiveMetabase := MetabaseClass.Active;
Ruby := ActiveMetabase.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;
MsDescr := Ruby.ModelSpace;
Model := ActiveMetabase.ItemByIdNamespace("MODEL_ATTR", MsDescr.Key).Edit As IMsModel;
Transform := Model.Transform;
TransformVar := Transform.Outputs.Add(Null);
Coord := Transform.CreateCoord(TransformVar);
Slice := TransformVar.Slices.Add(Null);
Selector := Transform.CreateSelector;
Selector.Slice := Slice;
Formula := Transform.Transform(Selector);
Formula.Kind := MsFormulaKind.Deterministic;
Det := Formula.Method As IMsDeterministicTransform;
MetaAttr := Ruby.Facts.Attributes.FindById("COUNTRY");
MetaVals := Transform.MetaAttributeFilter.Add(MetaAttr);
DimKey := MetaAttr.ValuesObject.Key;
Group := ActiveMetabase.ItemByIdNamespace("D_COUNTRY", DimKey).Edit As IDimElementGroup;
MetaVals.ElementGroup := Group;
TransformVar := Transform.Inputs.Add(Null);
Slice := TransformVar.Slices.Add(Null);
Term := Det.Operands.Add(Slice);
TermInfo := Term.TermInfo;
TermInfo.Lag := "-1";
Term.TermInfo := TermInfo;
Det.Expression.AsString := Term.TermToInnerText;
End Sub UserProc;
Executing the example creates an object that contains calculation options for series of the time series database.
See also: