Ms > Интерфейсы сборки Ms > IValidationMissingMetadata > IValidationMissingMetadata.CalculationType
CalculationType: MsCalculationType;
CalculationType: Prognoz.Platform.Interop.Ms.MsCalculationType;
Свойство CalculationType определяет тип метаданных, в которых валидация выявляет отсутствие значений.
Возможные значения:
MsCalculationType.Pointwise. Валидация ищет пропуски в значениях атрибутов наблюдений;
MsCalculationType.Serie. Валидация ищет пропуски в значениях атрибутов показателей.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB_VALIDATION_PARAMETERS», содержащей правило валидации с идентификатором «VALIDATION».
Добавьте ссылки на системные сборки: Cubes, Dimensions, Metabase, Ms, Rds.
Sub UserProc;
Var
Mb: IMetabase;
RubrObj: IMetabaseObjectDescriptor;
ValidObj: IMetabaseObject;
ValidFilter: IValidationFilter;
MissingMetaData: IValidationMissingMetaData;
SelectionAttrValList: IValidationSelectionValueList;
SelectionAttrFilter: IValidationSelectionFilter;
Rub: IRubricator;
MetaAttr: IMetaAttribute;
ValidMetaAttrs: IValidationMetaAttributes;
Begin
Mb := MetabaseClass.Active;
// Получаем базу данных временных рядов
RubrObj := Mb.ItemById("TSDB_VALIDATION_PARAMETERS");
Rub := RubrObj.Bind As IRubricator;
// Получаем правило валидации
ValidObj := Mb.ItemByIdNamespace("VALIDATION", RubrObj.Key).Edit;
ValidFilter := ValidObj As IValidationFilter;
// Указываем, что валидация выполняется по всем уровням календарной динамики
ValidFilter.Level := DimCalendarLevel.None;
// Указываем тип валидации
ValidFilter.Kind := ValidationDetailsKind.MissingMetaData;
// Получаем параметры валидации «Пропуски в метаданных»
MissingMetaData := ValidFilter.Details As IValidationMissingMetaData;
// Задаем тип проверяемых метаданных
MissingMetaData.CalculationType := MsCalculationType.Pointwise;
// Задаем проверяемый атрибут
MetaAttr := Rub.Values.Attributes.FindById("CMT");
ValidMetaAttrs := MissingMetaData.Attributes;
ValidMetaAttrs.Clear;
ValidMetaAttrs.Add(MetaAttr);
// Очищаем область выполнения и фильтр валидации
SelectionAttrValList := MissingMetaData.SelectionTargetData;
SelectionAttrValList.Clear;
SelectionAttrFilter := MissingMetaData.SelectionFilter;
SelectionAttrFilter.Clear;
// Сохраняем изменения
ValidObj.Save;
End Sub UserProc;
В результате выполнения примера будет настроено правило валидации типа «Пропуски в метаданных». При его выполнении проверяется наличие значения системного атрибута «CMT» у наблюдений показателей.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Rds;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
RubrObj: IMetabaseObjectDescriptor;
ValidObj: IMetabaseObject;
ValidFilter: IValidationFilter;
MissingMetaData: IValidationMissingMetaData;
SelectionAttrValList: IValidationSelectionValueList;
SelectionAttrFilter: IValidationSelectionFilter;
Rub: IRubricator;
MetaAttr: IMetaAttribute;
ValidMetaAttrs: IValidationMetaAttributes;
Begin
Mb := Params.Metabase;
// Получаем базу данных временных рядов
RubrObj := Mb.ItemById["TSDB_VALIDATION_PARAMETERS"];
Rub := RubrObj.Bind() As IRubricator;
// Получаем правило валидации
ValidObj := Mb.ItemByIdNamespace["VALIDATION", RubrObj.Key].Edit();
ValidFilter := ValidObj As IValidationFilter;
// Указываем, что валидация выполняется по всем уровням календарной динамики
ValidFilter.Level := DimCalendarLevel.dclNone;
// Указываем тип валидации
ValidFilter.Kind := ValidationDetailsKind.vdkMissingMetaData;
// Получаем параметры валидации «Пропуски в метаданных»
MissingMetaData := ValidFilter.Details As IValidationMissingMetaData;
// Задаем тип проверяемых метаданных
MissingMetaData.CalculationType := MsCalculationType.mctPointwise;
// Задаем проверяемый атрибут
MetaAttr := Rub.Values.Attributes.FindById("CMT");
ValidMetaAttrs := MissingMetaData.Attributes;
ValidMetaAttrs.Clear();
ValidMetaAttrs.Add(MetaAttr);
// Очищаем область выполнения и фильтр валидации
SelectionAttrValList := MissingMetaData.SelectionTargetData;
SelectionAttrValList.Clear();
SelectionAttrFilter := MissingMetaData.SelectionFilter;
SelectionAttrFilter.Clear();
// Сохраняем изменения
ValidObj.Save();
End Sub;
См. также: