Мета інструкції: продемонструвати як можна шукати в модулі аналітики по кількох полях одночасно
Для того, щоб наочно продемонструвати як саме можна здійснювати пошук по кількох питаннях розглянемо конкретний запит, який може виникнути у вас під час аналізу.
Задача. З великою ймовірністю відібрати закупівлі м’яса організаторами із Полтавської області за виключенням обласного центра - Полтави.
Рішення:
Спочатку спробуємо знайти всі лоти у яких у назві тендера зустрічається слово м’ясо. Для цього потрібно підготувати вираз = Тендер like '*м’ясо*'
Рисунок 1. Пояснення структури запиту
Вставити його в стрічку пошуку ідентифікатора лота.
Для цього:
1. Відкрити випадаючий список для для поля ідентифікатор лота
2. Почати вводити будь-який текст
3. Вставити текст запиту = Тендер like '*м’ясо*'
На жаль, по такому запиту нічого не відбереться, оскільки апостроф - це спец символ і модуль аналітики сприймає як пошуковий запит те, що розташоване між апострофами
Щоб вирішити цю проблему треба дати зрозуміти модулю аналітики, що це саме апостроф, а не спец символ. Для цього потрібно зразу перед апострофом добавити ще один апостроф. Має вийти = Тендер like '*м’’ясо*'. Далі цей запит вводимо у полі пошуку по ідентифікатору лота і ми отримаємо всі тендери, що містять у назві набір символів м’ясо
Слово м’ясо може бути написано кількома способами: м’ясо, м”ясо, мьясо. Щоб врахувати ці варіанти одним запитом, ми можемо використати ще один спец. символ - ?. Знак питання у запиті означає “будь-який символ”. Перепишемо ще раз цей запит = Тендер like '*м?ясо*'.
Якщо перевірити, які лоти відібрались, то стане помітно, що під цей запит попали всі лоти в назві тендера яких зустрічався набір символів м’ясо. Наприклад, електром’ясорубка, м’ясокомбінат, м’ясорізка.
Цю проблему можна вирішити двома способами:
1. зробити, щоб знаходило саме слово м’ясо (розглянемо зараз)
2. виключити всі слова, у яких в корені є слово м’ясо: м’ясорубка, м’ясокомбінат, м’ясорізка (розглянемо пізніше)
Для того, щоб у більшості випадків відокремити саме слово м’ясо, а не набір букв, потрібно використовувати символи (див нижче).
Символізує про початок/завершення
|
Приклад
|
Пробіл перед першою/останньою буквою
|
Напівфабрикати,м’ясоморожене, котлети
|
Початок запису
|
М’ясо теляче, куряче, свиняче
|
Розділові знаки
|
Напівфабрикати;м’ясо, пельмені
|
Дужки
|
Подарунковий набір (м’ясо, шампур, мангал)
|
Для простоти прикладу припустимо, що є лише коми і пропуски в кінці і на початку слова. Також у пошуку, символ як те, що перед символо був пропуск так і те, що це перший символ. Тоді будуть наступні комбінації пошуку:
'*^м?ясо *' '*^м?ясо' '*^м?ясо,' '*,м?ясо *' '*,м?ясо' '*,м?ясо,'
Це можна записати двома способами:
а) Поєднавши умовами “або” (or)
= Тендер like '*^м?ясо *' or Тендер like '*^м?ясо' or Тендер like '*^м?ясо,' or Тендер like '*,м?ясо *' or Тендер like '*,м?ясо' or Тендер like '*,м?ясо,'
б) Використавши оператор схожості (WildMatch)
= WildMatch(Тендер, '*^м?ясо *', '*^м?ясо', '*^м?ясо,', '*,м?ясо *', '*,м?ясо', '*,м?ясо,')
Також перед нами стоїть задача відібрати закупівлі по Полтавській області, але без міста Полтава. Для цього потрібно використати вже знайомий оператор like і його заперечення not WildMatch і створити додаткову частину
and РегионОрганизатора like 'Полтавська' and not WildMatch (ГородОрганизатора, '*Полтава*')
Весь запит разом буде виглядати:
= WildMatch(Тендер, '*^м?ясо *', '*^м?ясо', '*^м?ясо,', '*,м?ясо *', '*,м?ясо', '*,м?ясо,') and РегионОрганизатора like 'Полтавська' and not WildMatch (ГородОрганизатора, '*Полтава*')
Ми знаємо, що назву предмету закупівлі можуть вказати як в назві тендера, так і в описі лота, тендера, назві лота, назві товару. Тому можемо додати додаткові умови, наприклад, що дивитись ще на назву лота і опис тендера:
= (
WildMatch(Тендер, '*^м?ясо *', '*^м?ясо', '*^м?ясо,', '*,м?ясо *', '*,м?ясо', '*,м?ясо,')
or
WildMatch(ОписаниеТендера, '*^м?ясо *', '*^м?ясо', '*^м?ясо,', '*,м?ясо *', '*,м?ясо', '*,м?ясо,')
or
WildMatch(Лот, '*^м?ясо *', '*^м?ясо', '*^м?ясо,', '*,м?ясо *', '*,м?ясо', '*,м?ясо,')
)
and РегионОрганизатора like 'Полтавська'
and not WildMatch (ГородОрганизатора, '*Полтава*')
Наведений вище пошук можна використовувати для будь-якого поля у модулі аналітики.
Наприклад, якщо ми хочемо відібрати лише ті товари, що продавали учасники із Рівненської області ми можемо зробити у полі Товар наступний запит:
= РегионУчастника like 'Рівненська'
= Тендер like '*м'ясо*'
© 2016 Моніторинговий портал DoZorro. Всі права захищено