Пошук одночасно по кільком полям

07.12.2017 01:13

Мета інструкції: продемонструвати як можна шукати в модулі аналітики по кількох полях одночасно

Для того, щоб наочно продемонструвати як саме можна здійснювати пошук по кількох питаннях розглянемо конкретний запит, який може виникнути у вас під час аналізу.

Задача. З великою ймовірністю відібрати закупівлі м’яса організаторами із Полтавської області за виключенням обласного центра - Полтави.

Рішення:

Спочатку спробуємо знайти всі лоти у яких у назві тендера зустрічається слово м’ясо. Для цього потрібно підготувати вираз = Тендер 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 '*м'ясо*'

Перенесення готових об'єктів

"Виконавча дисципліна етапу договорів (Організатор)", "Організатор (документи)", "Порушення термінів укладання договору", "Тендери без документації", "Результати торгів (переможець)"

01.12.2017 11:55

6 способів провести тендер максимально неефективно

Допорогові торги наразі не регулюються на законодавчому рівні, тому зараз існує багато варіантів зробити свої закупівлі максимально неефективними. Хочу поділитись із Вами найдієвішими, на мою думку, способами.

27.02.2017 13:40

© 2016 Моніторинговий портал DoZorro. Всі права захищено

profile.welcome.login.title

profile.welcome.login.description

Форма зворотнього зв'язку

Дана форма використовується для зворотнього зв'язку щодо питань роботи порталу, тощо. Зверніть увагу, що відгуки на конкретні закупівлі/порушення розглядатися не будуть. Будь ласка, для цього залишайте відгук на відповідному тендері