ICubeMetaExporterBinding.DynamicsFormat

Синтаксис

DynamicsFormat(Level: DimCalendarLevel): String;

Описание

Свойство DynamicsFormat определяет формат динамики календарного измерения.

Комментарии

Динамика задается в формате даты (ICubeMetaExporterBinding.DateFormat) идентификатором «$Dyn$».

Если формат динамики не определен, то используются значения по умолчанию:

Значение параметра Level Формат динамики
DimCalendarLevel.Year «A»
DimCalendarLevel.HalfYear «S»
DimCalendarLevel.Quarter «Q»
DimCalendarLevel.Month «M»
DimCalendarLevel.Week «W»
DimCalendarLevel.Day «D»

Пример

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

Sub Main;

Var

TextConsumer: IDtTextConsumer;

MB: IMetabase;

Exporter: ICubeMetaExporter;

Binding: ICubeMetaExporterBinding;

Filter: ICubeMetaExporterFilter;

FilterValues: Array;

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;

 

// Параметры экспорта

Exporter := New CubeMetaExporterClass.Create;

MB := MetabaseClass.Active;

Exporter.Rubricator := MB.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;

Exporter.Consumer := TextConsumer As IDtConsumer;

Binding := Exporter.Bindings.Add;

Binding.FieldName := "CountryKey";

Binding.DataType := DbDataType.Integer;

Binding.BindingType := CubeMetaExporterBindingType.Attribute;

Binding.Attribute := "COUNTRIES";

Binding.KeyField := "KEY";

 

Binding := Exporter.Bindings.Add;

Binding.FieldName := "Date";

Binding.DataType := DbDataType.String;

Binding.BindingType := CubeMetaExporterBindingType.Calendar;

Binding.DateFormat := "$Dyn$_$Year$-$Quarter$";

Binding.DynamicsFormat(DimCalendarLevel.Year) := "A1";

Binding.DynamicsFormat(DimCalendarLevel.Quarter) := "Q1";

Binding.ValueDataType := DbDataType.Float;

Binding.ValueFieldName := "Value";

Binding.ValueDataType := DbDataType.Float;

 

Exporter.ByColumns := False;

Exporter.PeriodStart := DateTime.Parse("01.01.2000");

Exporter.PeriodEnd := DateTime.Parse("01.01.2008");

Exporter.CalendarLevel := DimCalendarLevel.None;

Filter := Exporter.Filters.Add;

Filter.Attribute := "COUNTRIES";

FilterValues := New Variant[2];

FilterValues[0] := 512;

FilterValues[1] := 914;

Filter.ValuesList := FilterValues;

 

// Экспорт

Exporter.Export;

End Sub Main;

После выполнения примера будет осуществлен экспорт показателей в текстовый файл «C:\result_meta_exp.txt». Экспортированы будут данные с 2000 по 2008 годы для тех показателей, у которых значение атрибута «COUNTRIES» равняется «512» или «914».

Пример фрагмента файла экспорта

См. также:

ICubeMetaExporterBinding