ICubeMetaUpdateEx.MetavalsAttributeRemappings

Синтаксис Fore

MetavalsAttributeRemappings: ICubeMetaUpdateAttributeRemappings;

Синтаксис Fore.NET

MetavalsAttributeRemappings: Prognoz.Platform.Interop.Cubes.ICubeMetaUpdateAttributeRemappings;

Описание

Свойство MetavalsAttributeRemappings определяет коллекцию соответствий атрибутов наблюдений копируемой базы и атрибутов наблюдений базы-копии.

Комментарии

Способ определения значения атрибута наблюдения базы-копии определяет свойство ICubeMetaUpdateAttributeRemapping.Type.

Пример Fore

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC_SOURCE», содержащего строковый пользовательский атрибут наблюдения «COMMENT». Также должна присутствовать база данных временных рядов с идентификатором «FC_TARGET», содержащая строковый пользовательский атрибут наблюдения «NOTE». Данные базы не содержат пользовательские атрибуты показателей.

Добавьте ссылки на системные сборки «Metabase», «Cubes».

Sub UserProc;
Var
    mb: IMetabase;
    RubUpdateEx: ICubeMetaUpdateEx;
    RubSource: IRubricator;
    AttrR: ICubeMetaUpdateAttributeRemapping;
Begin
    mb := MetabaseClass.Active;
    RubUpdateEx := New CubeMetaUpdateClass.Create As ICubeMetaUpdateEx;
    RubSource := mb.ItemById("FC_SOURCE").Bind As IRubricator;
    RubUpdateEx.Rubricator := RubSource;
    RubUpdateEx.CopyData := True;
    RubUpdateEx.CopyExtraObjects := False;
    RubUpdateEx.Metabase := mb;
    RubUpdateEx.TargetRubricator := mb.ItemById("FC_TARGET").Bind As IRubricator;
    AttrR := RubUpdateEx.MetavalsAttributeRemappings.FindById("NOTE");
    AttrR.Source := "COMMENT";
    AttrR.Type := CubeMetaUpdateAttributeRemappingType.ValueSource;
    RubUpdateEx.Apply(Null);
End Sub UserProc;

После выполнения примера будет задано соответствие между атрибутами «COMMENT» и «NOTE»: при копировании данных из базы «FC_SOURCE» в базу «FC_TARGET» данные атрибута «COMMENT» будут скопированы в атрибут NOTE».

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Cubes;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    RubUpdateEx: ICubeMetaUpdateEx;
    RubSource: IRubricator;
    AttrR: ICubeMetaUpdateAttributeRemapping;
Begin
    mb := Params.Metabase;
    RubUpdateEx := New CubeMetaUpdateClass.Create() As ICubeMetaUpdateEx;
    RubSource := mb.ItemById["FC_SOURCE"].Bind() As IRubricator;
    RubUpdateEx.Rubricator := RubSource;
    RubUpdateEx.CopyData := True;
    RubUpdateEx.CopyExtraObjects := False;
    RubUpdateEx.Metabase := mb;
    RubUpdateEx.TargetRubricator := mb.ItemById["FC_TARGET"].Bind() As IRubricator;
    AttrR := RubUpdateEx.MetavalsAttributeRemappings.FindById("NOTE");
    AttrR.Source := "COMMENT";
    AttrR.Type := CubeMetaUpdateAttributeRemappingType.cmuartValueSource;
    RubUpdateEx.Apply(Null);
End Sub;

После выполнения примера будет задано соответствие между атрибутами «COMMENT» и «NOTE»: при копировании данных из базы «FC_SOURCE» в базу «FC_TARGET» данные атрибута «COMMENT» будут скопированы в атрибут «NOTE».

См. также:

ICubeMetaUpdateEx