ICubeMetaLoaderBinding.IndexAttribute

Синтаксис Fore

IndexAttribute: String;

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

IndexAttribute: String;

Описание

Свойство IndexAttribute определяет идентификатор атрибута, включённого в индекс, по которому осуществляется привязка.

Комментарии

Свойство используется, если в справочнике, на который ссылается атрибут базы данных временных рядов, создан индекс и в него включены несколько атрибутов. Для привязки этих атрибутов справочника необходимо создать соответствующее количество привязок в коллекции ICubeMetaLoaderBindings и для каждой привязки задать следующие настройки:

Например, имеется база данных временных рядов, в её структуре создан атрибут «HUMAN», который ссылается на справочник репозитория «PEOPLE». В структуре справочника создан уникальный индекс «UNIQUEKEY», в который включены атрибуты справочника «NAME», «SURNAME» и «BIRTHDAY». В источнике имеются поля, наименования которых совпадают с наименованиями атрибутов справочника.

Код привязки атрибутов к полям источника будет иметь следующий вид:

Var
    //...
    TSDB: IRubricator;
    Attr: IMetaAttributes;
    ImportRequestDef: IImportRequestDefinition;
    Params: IImportRequestProviderParams;
    Bindings: ICubeMetaLoaderBindings;
    Binding: ICubeMetaLoaderBinding;
    Dimension: IDimensionModel;
    //...
Begin
    //...
    Attr := TSDB.Facts.Attributes;
    //...
    Params := ImportRequestDef.ProviderParams;
    Bindings := Params.Bindings;
    //...
    //Справочник, на котором построен атрибут
    Dimension := Attr.FindById("PEOPLE").ValuesObject.Bind As IDimensionModel;
    // Задаем привязку атрибута «Имя» (NAME)
    Binding := Bindings.Add;
    Binding.BindingType := CubeMetaLoaderBindingType.Attribute;
    Binding.Attribute := "HUMAN";
    Binding.Dimension := Dimension;
    Binding.KeyAttribute := "KEY";
    Binding.Index := "UNIQUEKEY";
    Binding.IndexAttribute := "NAME";
    Binding.FieldType := CubeMetaLoaderFieldType.Name;
    Binding.Field := "NAME";
    // Задаем привязку атрибута «Фамилия» (SURNAME)
    Binding.BindingType := CubeMetaLoaderBindingType.Attribute;
    Binding.Attribute := "HUMAN";
    Binding.Dimension := Dimension;
    Binding.KeyAttribute := "KEY";
    Binding.Index := "UNIQUEKEY";
    Binding.IndexAttribute := "SURNAME";
    Binding.FieldType := CubeMetaLoaderFieldType.Name;
    Binding.Field := "SURNAME";
    // Задаем привязку атрибута «День рождения» (BIRTHDAY)
    Binding.BindingType := CubeMetaLoaderBindingType.Attribute;
    Binding.Attribute := "HUMAN";
    Binding.Dimension := Dimension;
    Binding.KeyAttribute := "KEY";
    Binding.Index := "UNIQUEKEY";
    Binding.IndexAttribute := "BIRTHDAY";
    Binding.FieldType := CubeMetaLoaderFieldType.Name;
    Binding.Field := "BIRTHDAY";
    //...

Пример создания, настройки и выполнения объекта импорта приведен в описании свойства ICubeMetaLoaderBinding.CalendarDateFormatEx.

См. также:

ICubeMetaLoaderBinding