Factor: IRubricatorFactor;
Factor: Prognoz.Platform.Interop.Cubes.IRubricatorFactor;
Свойство Factor возвращает показатель.
Используя свойство Factor можно получить данные показателя.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR», содержащей правило валидации «VALID_FILTER» (сравнение отклонений между результирующим рядом и исходными рядами, на основе которых был получен результирующий ряд).
Также необходимо добавить ссылки на системные сборки «Metabase», «Ms», «Cubes».
Sub UserProc;
Var
Mb: IMetabase;
RubrDescr: IMetabaseObjectDescriptor;
Valid: IValidationFilter;
Date: DateTime;
SerArr: Array Of Variant;
i: Integer;
ValComponent: IValidationComponent;
Factor: IRubricatorFactor;
Begin
Mb := MetabaseClass.Active;
RubrDescr := Mb.ItemById("OBJ_RUBRICATOR");
Valid := Mb.ItemByIdNamespace("VALID_FILTER", RubrDescr.Key).Bind As IValidationFilter;
Date := DateTime.ComposeDay(2000, 1, 1);
SerArr := Valid.GetComponentsByFactor(10024, Date, True);
If Not isNull(SerArr) And (SerArr.Length > 0) Then
For i := 0 To SerArr.Length - 1 Do
ValComponent := (SerArr[i] As IValidationComponent);
Factor := ValComponent.Factor;
Debug.WriteLine("Компонент " + i.ToString + " " + Factor.Factor.ToString + " rev=" + ValComponent.RevisionKey.ToString);
End For;
Else
Debug.WriteLine("Компонентов нет");
End If;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены ряды-компоненты, для которых был сделан расчет валидации для показателя с ключом «10024».
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR», содержащей правило валидации «VALID_FILTER» (сравнение отклонений между результирующим рядом и исходными рядами, на основе которых был получен результирующий ряд).
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Ms;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
RubrDescr: IMetabaseObjectDescriptor;
Valid: IValidationFilter;
Date: DateTime;
SerArr: System.Array;
i: Integer;
ValComponent: IValidationComponent;
Factor: IRubricatorFactor;
Begin
Mb := Params.Metabase;
RubrDescr := Mb.ItemById["OBJ_RUBRICATOR"];
Valid := Mb.ItemByIdNamespace["VALID_FILTER", RubrDescr.Key].Bind() As IValidationFilter;
Date := DateTime.Parse("01.01.2000");
SerArr := Valid.GetComponentsByFactor(10024, Date, True);
If Not (SerArr <> Null) And (SerArr.Length > 0) Then
For i := 0 To SerArr.Length - 1 Do
ValComponent := (SerArr[i] As IValidationComponent);
Factor := ValComponent.Factor;
System.Diagnostics.Debug.WriteLine("Компонент " + i.ToString() + " " + Factor.Factor.ToString() + " rev=" + ValComponent.RevisionKey.ToString());
End For;
Else
System.Diagnostics.Debug.WriteLine("Компонентов нет");
End If;
End Sub;
После выполнения примера в окно консоли будут выведены ряды-компоненты, для которых был сделан расчет валидации для показателя с ключом «10024».
См. также: