Item(Index: Integer): IMsParametrizedDimension;
Index. Dimension index in the collection.
The Item property returns a dimension from the collection by its index.
Executing the example requires that the repository contains a time series database with the FC_PARAM identifier. This database contains the COUNTRY attribute that refers to the dictionary. Modeling container of the database contains a metamodel with the META_MODEL identifier and a model with the MODEL identifier. A parameter, that refers to the same dictionary as the COUNTRY attribute, is set for the metamodel.
Sub Main;
Var
mb: IMetabase;
Catalog: IRubricator;
Transforms: IMetabaseObjectDescriptor;
MetaModel: IMsMetaModel;
Model: IMsModel;
Transform: IMsFormulaTransform;
Input: IMsFormulaTransformVariable;
Slice: IMsFormulaTransformSlice;
Sel: IDimSelectionSet;
Atts: IMetaAttributes;
Dict: IMetabaseObjectDescriptor;
dimInst: IDimInstance;
dimSel: IDimSelection;
Params: IMsModelParams;
paramDim: IMsParametrizedDimensions;
paramD: IMsParametrizedDimension;
pr: IMsModelParam;
Begin
mb := MetabaseClass.Active;
Catalog := mb.ItemById("FC_PARAM").Bind As IRubricator;
Transforms := Catalog.ModelSpace;
MetaModel := mb.ItemByIdNamespace("METAMODEL", Transforms.Key).Bind As IMsMetaModel;
Model := mb.ItemByIdNamespace("MODEL", Transforms.Key).Edit As IMsModel;
Transform := Model.Transform;
Input := Transform.Inputs.Item(0);
Slice := Input.Slices.Item(0);
Sel := Slice.Selection;
Atts := Catalog.Facts.Attributes;
Dict := Atts.FindById("COUNTRY").ValuesObject;
dimInst := Dict.Open(Null) As IDimInstance;
dimSel := Sel.Add(dimInst);
dimSel.SelectElement(0, False);
Params := MetaModel.Params;
pr := Params.Item(0);
paramDim := Slice.ParametrizedDimensions;
paramD := paramDim.Item(0);
paramD.Parameter := pr;
(Model As IMetabaseObject).Save;
End Sub Main;
After executing the example parameterized dimension is set for the model variable slice.
See also: