Смекни!
smekni.com

Інформаційні системи в маркетингу (стр. 15 из 28)

- поставити курсор миші на ім'я поля Misto таблиці Pokupec, натиснути ліву кнопку миші і, не відпускаючи її, перетягти назву поля в зону критеріїв;

- у рядку “Значення” зони критеріїв під полем Misto двічі клацнути лівою кнопкою миші;

- у діалоговому вікні Зміна умови натиснути на кнопку Значення;

- після розкриття списку значень поля Misto, які є у таблиці Pokupec, вибрати потрібне значення (тобто Львів) і натиснути кнопку ОК;

- після повернення у діалогове вікно Правка критерію натиснути кнопку ОК.

Умова:Значення:або: MISTO
In (760,925,997)

Наслідком цих дій буде занесення в зону критеріїв умови відбору даних з таблиці бази даних.

Застосування шаблонів значно розширює можливості відборусимвольної інформації. Шаблони будуються за допомогою спеціальних символів (процента й підкреслення). Символ процент (%) означає будь-яку кількість символів, а символ підкреслення ( _ ) - лише один. Якщо, наприклад, треба отримати дані по всіх товарах, назва яких починається з літери “Л”, то при введенні такої умови з клавіатури потрібно набрати Like ‘Л%’ Для того, щоб спростити застосування подібних конструкцій, у діалогових вікнах, призначених для введення умов, є такі оператори: починається з (Like '...%'), не починається з (Not Like '...%'), закінчується на (Like '%...'), не закінчується на (Not Like '%... ').

Необхідно також знати, чи містить дане поле бази якесь значення, чи воно є порожнім. Під порожнім полем розуміється поле, у яке ще не вводилася ніяка інформація. Якщо поле вміщує нуль або пропуски, то воно вже не є порожнім. Критерій порожнього поля виглядає так: Is Null (є порожнім). Перевірку на те, що поле не є порожнім, можна виконати за допомогою оператора Is Not Null.

При введенні з клавіатури умов для полів типу дати або часу замість лапок слід використовувати знаки номера (#).

<= #01.01.96#. При введенні умови в діалоговому вікні цього знаку треба уникати, інакше буде помилка.

Розгляньмо кілька прикладів конструювання критеріїв.

Умова:Значення:або: CINA
In (760,925,997)

Вибірка з використанням операторів (“міститься у списку” чи «належить»). Формулювання запиту: отримати інформацію про товари, ціна яких міститься у 760, 925, 997 (тобто ціна яких дорівнює або 760, або 925, або 997).

Умова:Значення:або: CINA
Between 775 And 1280

Вибірка з використанням оператора Between (“між”). Формулювання запиту: вибрати відомості про товари, ціни на які знаходяться у діапазоні від 775 до 1280 включно.

Умова:Значення:або: KODZ
Like ‘%100’

Вибірка з використанням оператора Like '%... ' (“закінчується на”). Формулювання запиту: отримати інформацію (файл Zakaz.dbf) про замовлення на комп'ютери з тактовою частотою 100 МГц (у файлі Zakaz назва таких комп'ютерів та їхній код закінчується на 100).


Умова:Значення:або: DATAP
Between #17.03.97# And #17.03.97#+7

Вибірка з обчисленням дати. Формулювання запиту: використовуючи дані про продажі (файл Zakaz.dbf), з'ясувати, які товари було продано протягом семи днів, починаючи з 17.03.97.

Вибірка з використанням зв'язаних умов. У багатьох випадках однієї умови у запиті буває недостатньо. При визначенні кількох умов необхідно враховувати їх взаємодію. Чи буде вибрано запис при обов'язковому виконанні всіх умов, чи достатньо, щоб виконувалася будь-яка з них? У першому випадку критерій відбору створюється при зв'язуванні умов за допомогою логічного “І”. Запис обирається лише тоді, коли виконуються всі умови. Другий вид логічного зв'язку - за допомогою логічного “Або”. У цьому разі запис обирається, якщо виконується хоча б одна умова.

Умова:Значення: DATAZ CINA*KILZ
›#12/03/97# ›=250

Формулювання запиту: Отримати інформацію про замовлення (файл Zakaz.dbf), які були зроблені після 12.03.96 р. і вартість яких була не менше 960 грн. (тобто отримати інформацію із записів, у яких значення поля DATAZ більше 12.03.96 і у яких значення добутку полів KILZ і СІNА дорівнює або більше 960). При введеному критерії запис буде вибиратися тільки тоді, коли обидві умови виконуються.

Умова:Значення: DATAZ CINA*KILZ
›#12/03/97#

Формулювання запиту: Отримати інформацію про замовлення, які були зроблені після 12.03.96 або вартість яких була не менше 960 грн. При введеному критерії запис буде вибиратися за виконання хоча б однієї умови.

Зв'язки як по “/”, так і по “Або” можуть багаторазово зустрічатися в одному запиті.

Обробка даних. При отриманні даних з бази вони можуть зазнати деякої попередньої обробки. Це досягається за рахунок використання при визначенні полів вихідної таблиці запиту не просто назв полів бази, а виразів з них або функцій для обчислення групових значень.

Обчислення виразів. Розглянемо такий приклад. У таблиці бази даних Tovar (Товар) є поле Сіпа (Ціна), а в таблиці даних запиту потрібно відобразити ціну з урахуванням 20 % торгової націнки.

Це можна виконати так:

- з меню Записи виконати команду Додати колонку, що приведе до появи діалогового вікна з такою ж назвою;

- у рядку Поле цього діалогового вікна ввести формулу Сіпа*1.2;

- як заголовок можна використати або той самий рядок з формулою, або будь-який пояснювальний текст, наприклад, 'Ціна з націнкою'. Пояснювальний текст уводиться в рядок Заголовок колонки.

Обчислення групових значень. Розглянуті способи побудови запитів не дають змоги знайти відповіді на велику кількість питань, що часто виникають. Так, навіть такий простий запит, як “Скільки є покупців?”, неможливо висловити, використовуючи розглянуті вище можливості. Тому для визначення ознак, що характеризують деяку групу записів, у мові SQL існує низка спеціальних функцій, притаманних усім її діалектам:

Функція Обчислює для кожної групи записів
Сума Суму значень заданого параметра
Середнє Середнє значення заданого параметра
Число Кількість рядків
Мінімум Найменше значення заданого параметра
Максимум Найбільше значення заданого параметра

Кожна з цих функцій оперує сукупністю значень вказаного параметра (за винятком функції Число) та обчислює єдине значення для кожної заданої групи записів, яке характеризує цю групу. Параметром переважно є ім'я певного поля таблиці даних.

Для визначення потрібної функції використовується кнопка Цикл за груповими операціями або пункт меню Записи/Додати колонку.

Функції Сума та Число дозволяють дуже просто обчислювати різного роду підсумки. Так, виконавши такі дії, можна визначити загальну кількість покупців:

- при створенні запиту до зони таблиць бази додати довідник покупців (файл Pokupec.dbf); визначити поле таблиці бази, яке використовуватиметься як параметр функції (наприклад, поле KODP), і мишею перетягти його заголовок у зону даних запиту;

- увести функцію, яка буде оперувати параметром. Для цього в зоні даних запиту виділити колонку KODP і натискати у лінійці інструментів на кнопку Цикл за груповими операціями доти, поки у заголовку таблиці даних запиту не з'явиться Число KODP;

- якщо вимкнуто Автоматичний режим, то натиснути кнопку Виконати запит.

У разі виконання цих дій під заголовком Число KODP з'явиться підрахована загальна кількість записів у таблиці Pokupec. Оскільки таблиця Pokupec - це довідник покупців, де кожному покупцеві відповідає один запис, то кількість її записів співпадатиме з кількістю зареєстрованих покупців.

Альтернативний спосіб створення запиту полягає у виборі з меню Записи команди Додати колонку. При цьому відкриється діалог, у якому потрібно виконати такі дії:

- у першому рядку Поле, клацнувши мишею на кнопці зі стрілкою, розкрити список полів і вибрати поле бази KODP;

- в останньому рядку Групова операція розкрити список функцій і вибрати функцію Число;

- послідовно клацнути мишею на кнопках Додати та Закрити.

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

Умова:Значення:або: MISTO
‘Львів’

Внесення до попереднього запиту наведеного ліворуч критерію дає змогу визначити загальну кількість покупців зі Львова, що зробили замовлення.

Для обчислення підсумкових значень для окремих груп записів у вихідну таблицю даних запиту необхідно внести поля групування записів. Якщо з попереднього запиту вилучити критерій відбору записів, а у вихідну таблицю запиту додати поле Misto, то після його виконання у полі Число(?) KODP буде показана кількість зареєстрованих покупців для кожного міста.

Для аналізу продажів (їх кількості та вартості) по окремих днях до вихідної таблиці запиту необхідно додати поля Число (?) KILP, Сума KILP*CINA та DATAP.У першому буде виводитись інформація про кількість продажів задень, у другому - їхня вартість, а у третьому - дата продажів.Крім того, поле дати продажів (DATAP) необхідне ще й для групування записів за датою.

Використання функцій у критеріях відбору. Розглянуті функціїдля обчислення групових значень можна використовувати не тількиу полях вихідної таблиці запиту, але й у зоні критеріїв для відборувідповідних груп записів.