18c0693f

Работа с пропущенными (несуществующими) данными


Иногда данные оказываются недоступными (несуществующими) для исходных элементов: либо потому, что компания не сообщила их, либо из-за того, что формуле требуются исходные данные предыдущего периода, которых нет (такое, например, неизбежно случается, если требуются данные для периода, предшествующего самому раннему из тех, для которых есть данные). Специалистам по финансовым данным необходимо решить, как их формулы должны обращаться с отсутствующими данными. Например, логика операций с отсутствующими данными должна однозначно определять результат следующих выражений: 10 + null; null + null; 10 div null; null div 10; if (null ne 10) then (null + 20) else (30); if (25 gt null) ..; if(null = null).., и т.д...

В оставшейся части статьи автор использует бизнес-логику вычисления формул, принятую в его организации. Бизнес-логика других организаций может отличаться, но техническая обработка должна быть такой же.

Практический опыт показывает, что формулы должны иметь определенный тип (см. ниже), и для каждого типа существует ограниченное количество допустимых выражений. Эти ограничения необходимы, если должна применяться логика обработки отсутствующих данных. Измененная схема -

schema_complex.xml (листинг 7) - имеет элементы следующих четырех типов:

Каждый элемент вычисляемого типа также имеет атрибут

null_eval_rule, который указывает, как вычислять формулу или под-формулу простого типа в условном типе или типе "отношение".





Все публикации раздела