Конструктор реляційних запитів (Power Pivot)

Якщо імпортувати реляційні дані SQL Server, використовуючи Power Pivot у Microsoft Excel 2013, запити можна будувати в інтерактивному режимі за допомогою конструктора реляційних запитів. Він дає змогу створювати запити, що визначають реляційні дані, які потрібно видобути з Microsoft SQL Server, баз даних SQL Microsoft Azure і паралельного сховища даних Microsoft  SQL Server. Графічний конструктор запитів використовується, щоб працювати з метаданими, створювати запити в інтерактивному режимі та переглядати результати запитів.  Або можна використовувати текстовий конструктор запитів, щоб переглядати чи змінювати запити, створені в графічному конструкторі. Наявний запит можна також імпортувати з файлу або звіту.

  1. Відкрийте вікно Power Pivot.

  2. Клацніть елементи Отримати зовнішні дані > З бази даних > З SQL Server.

  3. У майстрі імпорту таблиць укажіть ім’я сервера, облікові дані та базу даних. Натисніть кнопку Далі.

  4. Виберіть параметр Напишіть запит, у якому буде вказано дані, що потрібно імпортувати. Натисніть кнопку Далі.

  5. Натисніть кнопку Конструктор, щоб відкрити конструктор реляційних запитів.

За потреби можна написати запит мовою SQL у текстовому редакторі. Щоб перейти в текстовий конструктор запитів, клацніть на панелі інструментів перемикач Редагувати як текст. Після редагування запиту в текстовому конструкторі запитів ви більше не зможете відкрити його в графічному конструкторі запитів.

Примітка :  Щоб указати запит для типів джерел даних Oracle, баз даних OLE, ODBC та Teradata, необхідно використовувати текстовий конструктор запитів.

У цій статті

Графічний конструктор запитів

Область подання бази даних

Область вибраних полів

Групи та агрегати

Область параметрів функції

Панель зв’язків

Область застосованих фільтрів

Область результатів запиту

Панель інструментів графічного конструктора запитів

Докладні відомості про автоматично створені запити

Текстовий конструктор запитів

Панель інструментів текстового конструктора запитів

Текст типу команди

Приклад

Тип команди StoredProcedure

Приклад

Тип команди TableDirect

Приклад

Графічний конструктор запитів

У графічному конструкторі запитів можна переглядати таблиці та подання бази даних, будувати в інтерактивному режимі оператор SQL SELECT, що визначає таблиці та стовпці бази даних, з яких потрібно отримати дані для набору даних. Можна вибрати поля, які входитимуть до набору даних, і, якщо необхідно, зазначити фільтри, які обмежуватимуть дані в ньому. Можна використовувати фільтри як параметри й указувати значення фільтра під час виконання запиту. Якщо вибрано кілька таблиць, конструктор запитів описує зв’язки між наборами пар таблиць.

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

Примітка : 

Паралельне сховище даних сервера SQL Server не підтримує збережені процедури й табличні функції.

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

Конструктор реляційних запитів

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

rs_relational_graphical_SP

У таблиці нижче описані функції кожної області.

область

Функція

Подання бази даних

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

Вибрані поля

Відображає список назв полів бази даних із вибраних елементів у області подання бази даних. Ці поля складають колекцію полів для набору даних.

Параметри функції

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

Зв’язки

Відображає список зв’язків, які припускаються з вибраних полів, для таблиць або подань в області подання бази даних або зв’язків, які були створені вручну.

Застосовані фільтри

Відображає список полів і умов фільтра для таблиць або подань у поданні бази даних.

Результати запиту

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

Область подання бази даних

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

Область вибраних полів

Область вибраних полів відображає поля в наборі даних, а також групи та агрегати, які потрібно включити до запиту.

Відображаються такі варіанти:

  • Вибрані поля   Відображає поля бази даних, які ви вибрали для таблиць або подань, чи вхідні параметри для збережених процедур або табличних функцій. Поля, що відображаються в цій області, складають колекцію полів для набору даних.

  • Щоб переглянути колекцію полів для набору даних, використовуйте область даних звіту.

  • Групи та агрегати   Переключення між групами та агрегатами у запиті. Якщо вимкнути функції груп і агрегатів після того, як було додано групи та агрегати, їх буде видалено. Текст (немає) вказує, що не використовується жодної групи чи агрегату. Якщо увімкнути функції груп і агрегатів повторно, групи та агрегати будуть відновлені.

  • Видалити поле.   Видаляє вибране поле.

Групи та агрегати

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

Агрегати надають зведені дані, а дані групуються відповідно до агрегату, який надає зведені дані. Якщо в запиті використовується агрегат, інші поля, які повертає запит, автоматично групуються, а запит SQL містить речення GROUP BY. Дані можна групувати, не додаючи агрегат, а лише за допомогою параметра Групування за у списку Групи та агрегати. Багато агрегатів включають версію, яка використовує ключове слово DISTINCT, яке гарантує відсутність повторюваних значень.

На сервері Microsoft SQL Server використовується мова Transact-SQL, а в паралельному сховищі даних сервера Microsoft SQL Server – мова SQL. Обидва діалекти мови SQL підтримують речення, ключові слова й агрегати, надані конструктором запитів.

У таблиці нижче наведено список агрегатів із коротким описом.

Агрегат

Опис

Avg

Повертає середнє значення у групі. Впроваджує агрегат SQL AVG.

Count

Повертає кількість елементів у групі. Впроваджує агрегат SQL COUNT.

Count Big

Повертає кількість елементів у групі. Це агрегат SQL COUNT_BIG. Різниця між агрегатами COUNT і COUNT_BIG полягає в тому, що COUNT_BIG завжди повертає значення типу даних bigint.

Min

Повертає найменше значення у групі. Впроваджує агрегат SQL MIN.

Max

Повертає найбільше значення у групі. Впроваджує агрегат SQL MAX.

StDev

Повертає статистичне стандартне відхилення всіх значень у групі. Впроваджує агрегат SQL STDEV.

StDevP

Повертає статистичне стандартне відхилення для сукупності всіх значень у вказаному виразі групи. Впроваджує агрегат SQL STDEVP.

Sum

Повертає суму всіх значень у групі. Впроваджує агрегат SQL SUM.

Var

Повертає статистичну дисперсію всіх значень у групі. Впроваджує агрегат SQL VAR.

VarP

Повертає статистичну дисперсію для сукупності всіх значень у групі. Впроваджує агрегат SQL VARP.

Avg Distinct

Повертає унікальні середні значення. Впроваджує комбінацію агрегату AVG та ключового слова DISTINCT.

Count Distinct

Повертає унікальні лічильники. Впроваджує комбінацію агрегату COUNT і ключового слова DISTINCT.

Count Big Distinct

Повертає унікальну кількість елементів у групі. Впроваджує комбінацію агрегату COUNT_BIG і ключового слова DISTINCT.

StDev Distinct

Повертає унікальні статистичні стандартні відхилення. Впроваджує комбінацію агрегату STDEV і ключового слова DISTINCT.

StDevP Distinct

Повертає унікальні статистичні стандартні відхилення. Впроваджує комбінацію агрегату STDEVP і ключового слова DISTINCT.

Sum Distinct

Повертає унікальні суми. Впроваджує комбінацію агрегату SUM і ключового слова DISTINCT.

Var Distinct

Повертає унікальні статистичні дисперсії. Впроваджує комбінацію агрегату VAR і ключового слова DISTINCT.

VarP Distinct

Повертає унікальні статистичні дисперсії. Впроваджує комбінацію агрегату VARP і ключового слова DISTINCT.

Область параметрів функції

Область параметрів функції відображає параметри для збереженої процедури або табличної функції. Відображаються такі стовпці:

  • Ім’я параметра.   Відображає назву параметра, визначеного збереженою процедурою чи табличною функцією.

  • Значення.   Значення, яке використовуватиметься параметром, коли запит буде запущено, щоб отримати дані для відображення в області результатів запиту під час розробки. Це значення не використовується під час запуску.

Панель зв’язків

Панель зв’язків відображає зв’язки об’єднання. Зв’язки можуть виявлятись автоматично за зв’язками зовнішніх ключів, які отримуються з метаданих бази даних, або їх можна створити вручну.

Відображаються такі варіанти:

  • Автовиявлення. Переключає функцію автоматичного виявлення, яка автоматично створює зв’язки між таблицями. Якщо автовиявлення ввімкнуто, конструктор запитів створює зв’язки за зовнішніми ключами в таблицях; в іншому разі необхідно створювати зв’язки вручну. Автовиявлення спробує автоматично створити зв’язки, коли ви виберете таблиці в області Подання бази даних. Якщо автовиявлення буде ввімкнуто після створення з’єднань уручну, такі з’єднання буде скасовано.

    Увага! :  Якщо метадані використовуються в паралельному сховищі даних сервера SQL Server, то необхідні для створення зв’язків метадані не надаються і зв’язки неможливо виявити автоматично. Якщо ваш запит отримує дані з паралельного сховища даних сервера SQL Server, усі з’єднання між таблицями потрібно створити вручну.

  • Додати зв’язок. Додає зв’язок до списку Зв’язки.

    Якщо автовиявлення увімкнено, таблиці, стовпці з яких використовуються в запиті, автоматично додаються до списку Зв’язки. Якщо автовиявлення визначає, що дві таблиці пов’язані, одну таблицю буде додано до стовпця Ліва таблиця, а іншу – до стовпця Права таблиця, а між ними буде створено внутрішній зв’язок. Кожний зв’язок створює речення JOIN у запиті. Якщо таблиці не пов’язані, всі таблиці зазначаються у стовпці Ліва таблиця, а стовпець Тип об’єднання вказує, що таблиці не пов’язані. Коли автовиявлення увімкнено, не можна вручну додати зв’язки між таблицями, які автовиявлення вважає непов’язаними.

    Якщо автовиявлення вимкнено, зв’язки між таблицями можна додавати та змінювати. Клацніть Редагувати поля, щоб указати поля для об’єднання двох таблиць.

    Порядок, у якому відображено зв’язки у списку Зв’язки, – це порядок, у якому в запиті будуть виконані з’єднання. Порядок зв’язків можна змінити, перемістивши їх угору чи вниз у списку.

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

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

  • Редагувати поля. Відкриває діалогове вікно Редагувати пов’язані поля, у якому можна додавати та змінювати зв’язки між таблицями. Ви вибираєте поля, за якими буде об’єднано праву та ліву таблиці. Можна об’єднувати кілька полів із лівої та правої таблиць, щоб указати кілька умов об’єднання у зв’язку. Два поля, які об’єднують ліву та праву таблиці, не обов’язково повинні мати однакову назву. Тип даних об’єднаних полів має бути сумісним типом даних.

  • Видалити зв’язок. Видаляє вибраний зв’язок.

  • Вгору та Вниз. Переміщує зв’язок вгору або вниз у списку Зв’язки. Порядок розміщення зв’язків у запиті може вплинути на його результати. Зв’язки додаються до запиту в тому порядку, у якому вони з’являються в списку Зв’язки.

Відображаються такі стовпці:

  • Ліва таблиця.   Відображає назву першої таблиці, яка є частиною зв’язку об’єднання.

  • Тип з’єднання.   Відображає тип оператора SQL JOIN, що використовується в автоматично створеному запиті. За замовчуванням, якщо виявлено обмеження зовнішнього ключа, використовується INNER JOIN. Інші типи з’єднань – LEFT JOIN і RIGHT JOIN. Якщо жодний із цих типів об’єднання не застосовується, у стовпці Тип з’єднання відображається Непов’язані. Для непов’язаних таблиць з’єднання CROSS JOIN не створюються; натомість необхідно створити зв’язки вручну, об’єднавши стовпці у лівій і правій таблицях.

  • Права таблиця.   Відображає назву другої таблиці у зв’язку об’єднання.

  • Поля об’єднання   Наводить пари об’єднаних полів; якщо зв’язок має кілька умов об’єднання, пари об’єднаних полів відокремлюються комами (,).

Область застосованих фільтрів

Область застосованих фільтрів відображає умови, що використовуються для обмеження кількості рядків даних, які отримуються під час запуску. Умови, наведені в цій області, використовуються для створення речення SQL WHERE. Параметр автоматично створюється, коли ви вибираєте певний варіант параметра.

Відображаються такі стовпці:

  • Ім’я стовпця.   Відображає назву поля, до якого застосовується умова.

  • Оператор.   Відображає дію, яка використовується у виразі фільтра.

  • Значення.   Відображає значення, яке використовується у виразі фільтра.

  • Параметр.   Відображає варіант додавання параметра запиту до запиту.

Область результатів запиту

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

Ці дані відтворюють значення з джерела даних під час запуску запиту.

Порядок сортування в наборі результатів визначається порядком отримання даних із джерела даних. Порядок сортування можна змінити безпосередньо змінюючи текст запиту.

Панель інструментів графічного конструктора запитів

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

Кнопка

Опис

Редагувати як текст

Перехід до текстового конструктора запитів для перегляду автоматично створеного запиту або зміни запиту.

Імпортувати

Імпорт наявного запиту з файлу чи звіту. Підтримуються типи файлів SQL і RDL.

Виконати запит

Виконайте запит. Область результатів запиту відображає набір результатів.

На початок сторінки

Докладні відомості про автоматично створені запити

Якщо вибрати таблиці та стовпці або збережені процедури та подання в області подання бази даних, конструктор запитів отримає зв’язки початкових первинних ключів і зовнішніх ключів зі схеми бази даних. Аналізуючи ці зв’язки, конструктор запитів виявляє зв’язки між двома таблицями та додає з’єднання до запиту. Потім можна змінити запит, додавши групи та агрегати, додавши або змінивши зв’язки, а також додавши фільтри. Щоб переглянути текст запиту, що відображає стовпці, з яких необхідно отримати дані, зв’язки між таблицями та будь-які групи або агрегати, клацніть перемикач Редагувати як текст.

На початок сторінки

Текстовий конструктор запитів

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

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

Текстовий конструктор запитів відображає панель інструментів і такі дві панелі:

  • Запит   Показує текст запиту, назву таблиці або назву збереженої процедури залежно від типу запиту. Не всі типи запитів доступні для всіх типів джерел даних. Наприклад, назва таблиці підтримується лише для типу джерела даних "База даних OLE".

  • Результат.   Показує результати запуску запиту під час розробки.

Панель інструментів текстового конструктора запитів

Текстовий конструктор запитів має одну панель інструментів для всіх типів команд. У таблиці нижче наведено всі кнопки на панелі інструментів і їх опис.

Кнопка

Опис

Редагувати як текст

Перехід між текстовим і графічним конструкторами запитів. Не всі типи джерел даних підтримуються в графічному конструкторі запитів.

Імпортувати

Імпорт наявного запиту з файлу чи звіту. Підтримуються лише типи файлів SQL і RDL.

Піктограма конструктора реляційних запитів

Запуск запиту та відображення набору результатів у області результатів.

Тип команди

Виберіть Текст, StoredProcedure або TableDirect. Якщо збережена процедура має параметри, коли ви натиснете на панелі інструментів кнопку Запустити, з’явиться діалогове вікно Визначення параметрів запиту і ви зможете ввести необхідні параметри.

Примітка :  Якщо збережена процедура повертає кілька наборів результатів, лише перший набір результатів використовується для заповнення набору даних.

Примітка : TableDirect доступно лише для типу джерела даних "База даних OLE".

Текст типу команди

Під час створення набору даних SQL Server за замовчуванням відкривається конструктор реляційних запитів. Щоб перейти до текстового конструктора запитів, клацніть перемикач Редагувати як текст  на панелі інструментів. Текстовий конструктор запитів має дві панелі: панель запитів і панель результатів. На рисунку нижче зображено обидві панелі.

Конструктор реляційних запитів

У таблиці нижче описані функції кожної області.

область

Функція

Запит

Відображає текст запиту SQL. Використовуйте цю панель для написання або редагування запиту SQL.

Результат

Відображає результати запиту. Щоб запустити запит, клацніть правою кнопкою миші будь-яку панель, а потім виберіть команду Запустити або натисніть кнопку Запустити на панелі інструментів.

Приклад

У прикладі нижче запит повертає список імен із таблиці, що називається ContactType.

SELECT ім’я FROM ContactType

Коли ви натискаєте кнопку Запустити на панелі інструментів, запускається команда в області Запитів і результати, список імен, відображаються в області Результатів.

Тип команди StoredProcedure

Після вибору Тип команди StoredProcedure текстовий конструктор запитів відкриє дві панелі: панель запитів і панель результатів. Введіть назву збереженої процедури в області запитів і натисніть кнопку Запустити на панелі інструментів. Якщо збережена процедура має параметри, відкриється діалогове вікно Визначення параметрів запиту. Введіть значення параметрів для збереженої процедури.

На рисунку нижче зображені панелі запитів і результатів під час запуску збереженої процедури У нашому прикладі вхідні параметри – це константи.

Конструктор реляційних запитів

У таблиці нижче описані функції кожної області.

область

Функція

Запит

Відображає назву збереженої процедури та будь-які вхідні параметри.

Результат

Відображає результати запиту. Щоб запустити запит, клацніть правою кнопкою миші будь-яку панель, а потім виберіть команду Запустити або натисніть кнопку Запустити на панелі інструментів.

Приклад

У наведеному нижче запиті викликається збережена процедура uspGetWhereUsedProductID. Коли збережена процедура має вхідні параметри, необхідно надати значення параметрів, виконуючи запит.

uspGetWhereUsedProductID

Натисніть кнопку Запустити (!). У наведеній нижче таблиці представлені приклади параметрів uspGetWhereUsedProductID, для яких указуються значення в діалоговому вікні Визначення параметрів запиту.

@StartProductID

820

@CheckDate

20010115

Тип команди TableDirect

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

Приклад

Для типу джерела даних "База даних OLE" наступний запит набору даних повертає набір результатів для всіх типів контактів у таблиці ContactType.

ContactType

Введення назви таблиці ContactType рівносильне створенню оператора SQL SELECT * FROM ContactType.

На початок сторінки

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×