Отчет с двойным результатом обработки адреса

В данной статье мы рассмотрим модельный пример, позволяющий продемонстрировать возможность объединения результатов обработки нескольких секций в одном элементе отчета. Пример касается почтовых адресов, поскольку в реальной работе наиболее вероятным является возникновение такого сценария именно применительно к адресам, тем не менее, аналогичный прием можно использовать при обработке телефонных номеров и ФИО персон.

Рассмотрим следующий пример реестра. Предположим, что реестр содержит адреса некоторых магазинов. В реестре есть колонка с названием магазина, есть строка с его адресом, а также есть отдельная колонка, содержащая название города, где расположен ближайший склад, снабжающий данный магазин продукцией. При вводе этой информации в CRM-систему, откуда был выгружен данный реестр, адрес магазина иногда вводился в сокращенном виде. Это происходило, если магазин находился в том же городе, что и склад. В этом случае оператор не всегда повторно вводил город магазина, поскольку считал, что информации о городе склада должно быть достаточно. В результате часть адресов записана полностью, а часть – содержит только улицу и номер дома. Обработка адреса, состоящего только из названия улицы и номера дома, приведет к нулевому результату, однако, если выполнить совместную обработку улицы магазина с городом склада, то можно получить качественный нормализованный почтовый адрес. Пример такого реестра и соответствующая настройка его схемы приведена на следующем рисунке.

На приведенном рисунке видно, что адрес магазина Ромашка записан полностью, поскольку магазин находится в городе Тольятти, а его склад – в городе Самара. В то время как у магазина Перекресток в адресе указана только улица, названия города, где данный магазин находится, в этой колонке нет. Тоже самое касается магазина Континент.

При настройке схемы мы создали две секции типа «Адрес». В первую секцию мы включили только колонку «Исходный адрес магазина». Во вторую секцию включили колонки «Город склада» и «Исходный адрес магазина». При обработке такого реестра сервис будет действовать следующим образом. Сначала алгоритмами стандартизации адресов будет обработано содержимое одной колонки, образующей первую секцию. После этого теми же алгоритмами будет обработано объединенное содержимое двух колонок, образующих вторую секцию. Таким образом, сервис дважды обработает адрес магазина, в первом случае – без учета города склада, а во втором случае – с учетом него.

Теперь чтобы получить объединенный результат такой двойной обработки, необходимо настроить отчет следующим образом.

Согласно приведенным настройкам отчета, мы включили в него следующие колонки.

  • Колонка с названием магазина, при выводе ее в отчет мы будем брать соответствующие данные из первой колонки исходного реестра.
  • Колонка, содержащая исходный адрес магазина. Здесь для демонстрации мы добавили этот элемент отчета не как отдельную колонку исходного реестра, а как цельную секцию. Хотя принципиальной разницы в этом нет, поскольку секция «Адрес магазина 1» состоит всего лишь из одной колонки «Исходный адрес магазина».
  • Далее выводятся колонки с результатом обработки адреса в соответствии с настройками компоновки «Адрес в три колонки». Важной чертой данного элемента отчета является включение в него результатов обработки двух секций «Адрес магазина 1» и «Адрес магазина 2», как это выделено на рисунке выше. При формировании данной части отчета сервис будет поступать следующим образом. Сначала будет предпринята попытка вывести результат стандартизации адреса, полученный при обработке секции «Адрес магазина 1», если окажется, что данный результат пуст, то будет предпринята попытка вывести результат стандартизации второй секции. В приведенном примере реестра результат обработки первой секции будет пустым для магазина Перекресток и Континент, т.к. в их адресах отсутствует название города. Поэтому при выводе этих магазинов в отчет будет взят результат стандартизации второй секции, где улица обрабатывалась совместно с городом из соседней колонки «Город склада».

Отчет, сформированный с использованием этих настроек, приведен на следующем рисунке.

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

версия сервиса:
обработано за 1 (мс)