IStandardCubeDimensionBinding.Binding

Синтаксис

Binding(Attribute: IDimAttribute): IExpression;

Параметры

Attribute. Атрибут индекса измерения (блока измерения), по которому осуществляется привязка к полям источника данных.

Описание

Свойство Binding возвращает выражение, определяющее связь между полями источника данных куба и атрибутами измерения, по которым создан индекс измерения (блока измерения).

Пример Fore

Для выполнения примера предполагается наличие стандартного куба с идентификатором "Std_Cube" и справочника с идентификатором "Dim_1". Добавьте ссылки на системные сборки: Cubes, Db, Dimensions, Metabase.

Sub Main;
Var
    MB: IMetabase;
    Dim: IDimensionModel;
    StandCub: IStandardCube;
    StDataset: IStandardCubeDataset;
    Dataset: IDatasetModel;
    Field: IDatasetModelField;
    Block: IDimBlock;
    Index: IDimIndex;
    Attr: IDimAttribute;
    StDim: IStandardCubeDimension;
    StDimBind: IStandardCubeDimensionBinding;
Begin
    MB := MetabaseClass.Active;
    StandCub := MB.ItemById("Std_Cube").Edit As IStandardCube;
    Dim := MB.ItemById("Dim_1").Bind As IDimensionModel;
    StDataset := StandCub.Datasets.Item(0);
    Dataset := StDataset.Dataset;
    Field := Dataset.Fields.Item(0);
    Block := Dim.Blocks.Item(0);
    Index := Block.Indexes.PrimaryIndex;
    Attr := Index.Attributes.Item(0);
    StDim := StandCub.Dimensions.Add(Dim);
    StDimBind := StDim.Binding(StDataset);
    StDimBind.Index := Index;
    StDimBind.Binding(Attr).AsString := (Dataset As IMetabaseObject).Id + "." + Field.Id;
    (StandCub As IMetabaseObject).Save;
End Sub Main;

После выполнения примера в куб будет добавлено новое измерение "Dim_1". Привязка осуществляется по первичному индексу первого блока измерения. Первому атрибуту, по которому создан индекс, будет сопоставлено первое поле источника данных куба.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Db;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Dim: IDimensionModel;
    StandCub: IStandardCube;
    StDataset: IStandardCubeDataset;
    Dataset: IDatasetModel;
    Field: IDatasetModelField;
    Block: IDimBlock;
    Index: IDimIndex;
    Attr: IDimAttribute;
    StDim: IStandardCubeDimension;
    StDimBind: IStandardCubeDimensionBinding;
Begin
    MB := Params.Metabase;
    StandCub := MB.ItemById["Std_Cube"].Edit() As IStandardCube;
    Dim := MB.ItemById["Dim_1"].Bind() As IDimensionModel;
    StDataset := StandCub.Datasets.Item[0];
    Dataset := StDataset.Dataset;
    Field := Dataset.Fields.Item[0];
    Block := Dim.Blocks.Item[0];
    Index := Block.Indexes.PrimaryIndex;
    Attr := Index.Attributes.Item[0];
    StDim := StandCub.Dimensions.Add(Dim);
    StDimBind := StDim.Binding[StDataset];
    StDimBind.Index := Index;
    StDimBind.Binding[Attr].AsString := (Dataset As IMetabaseObject).Id + "." + Field.Id;
    (StandCub As IMetabaseObject).Save();
End Sub;

См. также:

IStandardCubeDimensionBinding