ICubeMetaExporter.WhereIsEmpty

Синтаксис Fore

WhereIsEmpty: TriState;

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

WhereIsEmpty: Prognoz.Platform.Interop.ForeSystem.TriState;

Описание

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

Комментарии

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

Свойство IRubricator.HasEmptyAttribute определяет, присутствует ли в базе признак пустоты показателей.

Пример Fore

Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «FC_IS_EMPTY». В данной базе должен присутствовать пользовательский атрибут «COUNTRY». Добавьте ссылки на системные сборки «Metabase», «Cubes», «Dt», «Dal».

Sub UserProc;
Var
    TextConsumer: IDtTextConsumer;
    MB: IMetabase;
    Exporter: ICubeMetaExporter;
    Binding: ICubeMetaExporterBinding;
Begin
// Приемник данных для экспорта в текстовый формат
    TextConsumer := New DtTextConsumer.Create;
    TextConsumer.File := "C:\result_meta_exp.txt";
    TextConsumer.FormatType := DtTextFormatType.Delimited;
    TextConsumer.DelimitedColumnDelimiter := ";";
    TextConsumer.DelimitedTextQualifier := """";
    TextConsumer.Encoding := "WIN";
    TextConsumer.WriteHeader := True;
// Параметры экспорта атрибута «COUNTRY»
    Exporter := New CubeMetaExporterClass.Create;
    MB := MetabaseClass.Active;
    Exporter.Rubricator := MB.ItemById("FC_IS_EMPTY").Bind As IRubricator;
    Exporter.Consumer := TextConsumer As IDtConsumer;
    Binding := Exporter.Bindings.Add;
    Binding.FieldName := "COUNTRY_KEY";
    Binding.DataType := DbDataType.Integer;
    Binding.BindingType := CubeMetaExporterBindingType.Attribute;
    Binding.Attribute := "COUNTRY";
    Binding.KeyField := "KEY";
// Календарные параметры экспорта
    Binding := Exporter.Bindings.Add;
    Binding.FieldName := "Year";
    Binding.DataType := DbDataType.String;
    Binding.BindingType := CubeMetaExporterBindingType.Calendar;
    Binding.DateFormat := "$Year$";
// Параметры экспорта данных
    Binding.ValueFieldName := "Value";
    Binding.ValueDataType := DbDataType.Float;
    Exporter.WhereIsEmpty := TriState.OffOption;
// Экспорт
    Exporter.Export;
End Sub UserProc;

После выполнения примера в файл «C:\result_meta_exp.txt» будут выгружены непустые показатели из базы.

Пример Fore.NET

Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «FC_IS_EMPTY». В данной базе должен присутствовать только один пользовательский атрибут «COUNTRY».

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Dt;

Public Shared Sub Main(Params: StartParams);
Var
    TextConsumer: IDtTextConsumer;
    MB: IMetabase;
    Exporter: ICubeMetaExporter;
    Binding: ICubeMetaExporterBinding;
Begin
// Приемник данных для экспорта в текстовый формат
    TextConsumer := New DtTextConsumer.Create();
    TextConsumer.File := "C:\result_meta_exp.txt";
    TextConsumer.FormatType := DtTextFormatType.tftDelimited;
    TextConsumer.DelimitedColumnDelimiter := ";";
    TextConsumer.DelimitedTextQualifier := """";
    TextConsumer.Encoding := "WIN";
    TextConsumer.WriteHeader := True;
// Параметры экспорта атрибута «COUNTRY»
    Exporter := New CubeMetaExporterClass.Create();
    MB := Params.Metabase;
    Exporter.Rubricator := MB.ItemById["FC_IS_EMPTY"].Bind() As IRubricator;
    Exporter.Consumer := TextConsumer As IDtConsumer;
    Binding := Exporter.Bindings.Add();
    Binding.FieldName := "COUNTRY_KEY";
    Binding.DataType := DbDataType.ddtInteger;
    Binding.BindingType := CubeMetaExporterBindingType.cmebtAttribute;
    Binding.Attribute := "COUNTRY";
    Binding.KeyField := "KEY";
// Календарные параметры экспорта
    Binding := Exporter.Bindings.Add();
    Binding.FieldName := "Year";
    Binding.DataType := DbDataType.ddtString;
    Binding.BindingType := CubeMetaExporterBindingType.cmebtCalendar;
    Binding.DateFormat := "$Year$";
// Параметры экспорта данных
    Binding.ValueFieldName := "Value";
    Binding.ValueDataType := DbDataType.ddtFloat;
    Exporter.WhereIsEmpty := TriState.tsOffOption;
// Экспорт
    Exporter.Export();
End Sub;

После выполнения примера в файл «C:\result_meta_exp.txt» будут выгружены непустые показатели из базы.

См. также:

ICubeMetaExporter