ICubeMetaLoader.SkipEmptyRows

Синтаксис Fore

SkipEmptyRows: Boolean;

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

SkipEmptyRows: boolean;

Описание

Свойство SkipEmptyRows определяет, пропускать ли пустые строки при импорте данных.

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB_IMPORT», содержащей объект импорта с идентификатором «OBJ_IMPORT». Данный объект должен импортировать данные из любого источника, кроме базы данных временных рядов.

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

Sub UserProc;
Var
    Mb: IMetabase;
    RubrKey: Integer;
    ImpRequestDefDescr: IMetabaseObjectDescriptor;
    ImpRequestDef: IImportRequestDefinition;
    MetaLoader: ICubeMetaLoader;
Begin
    // Получаем репозиторий
    Mb := MetabaseClass.Active;
    // Получаем базу данных временных рядов
    RubrKey := Mb.GetObjectKeyById("TSDB_IMPORT");
    // Получаем объект импорта
    ImpRequestDefDescr := Mb.ItemByIdNamespace("OBJ_IMPORT", RubrKey);
    // Получаем параметры загрузки временных рядов
    ImpRequestDef := ImpRequestDefDescr.Edit As IImportRequestDefinition;
    MetaLoader := ImpRequestDef.ProviderParams As ICubeMetaLoader;
    // Указываем, что при импорте значений, не соответствующих типу поля-приемника,
    // будет записано значение Null
    MetaLoader.LoadNullForMissMatchValueType := True;
    // Указываем, что при импорте ряд будет целиком перезаписан
    MetaLoader.OverWriteWholeFactorValues := True;
    // Задаем длину строкового поля в источнике данных
    MetaLoader.SourceFieldStringSize := 100;
    // Указываем, что при импорте значений будут пропущены пустые строки
    MetaLoader.SkipEmptyRows := True;
    // Указываем, что при импорте не будет уменьшаться период временных рядов
    // в базе данных временных рядов
    MetaLoader.DecreasePeriod := False;
    // Указываем, что надо логировать ошибку распознавания даты
    MetaLoader.LogDateParseError := True;
    // Сохраняем изменения
    (ImpRequestDef As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера будут изменены параметры объекта импорта: при импорте будут пропускаться пустые строки, логироваться ошибки распознавания даты, ряды будут целиком перезаписаны. Также будет изменена длина строкового поля в источнике данных и если импортируемое значение не соответствует типу поля-приемника, то будет записываться значение Null.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Cubes;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    RubrKey: uinteger;
    ImpRequestDefDescr: IMetabaseObjectDescriptor;
    ImpRequestDef: IImportRequestDefinition;
    MetaLoader: ICubeMetaLoader;
Begin
    // Получаем репозиторий
    Mb := Params.Metabase;
    // Получаем базу данных временных рядов
    RubrKey := Mb.GetObjectKeyById("TSDB_IMPORT");
    // Получаем объект импорта
    ImpRequestDefDescr := Mb.ItemByIdNamespace["OBJ_IMPORT", RubrKey];
    // Получаем параметры загрузки временных рядов
    ImpRequestDef := ImpRequestDefDescr.Edit() As IImportRequestDefinition;
    MetaLoader := ImpRequestDef.ProviderParams As ICubeMetaLoader;
    // Указываем, что при импорте значений, не соответствующих типу поля-приемника,
    // будет записано значение Null
    MetaLoader.LoadNullForMissMatchValueType := True;
    // Указываем, что при импорте ряд будет целиком перезаписан
    MetaLoader.OverWriteWholeFactorValues := True;
    // Задаем длину строкового поля в источнике данных
    MetaLoader.SourceFieldStringSize := 100;
    // Указываем, что при импорте значений будут пропущены пустые строки
    MetaLoader.SkipEmptyRows := True;
    // Указываем, что при импорте не будет уменьшаться период временных рядов
    // в базе данных временных рядов
    MetaLoader.DecreasePeriod := False;
    // Указываем, что надо логировать ошибку распознавания даты
    MetaLoader.LogDateParseError := True;
    // Сохраняем изменения
    (ImpRequestDef As IMetabaseObject).Save();
End Sub;

См. также:

ICubeMetaLoader