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

Важно : Тази статия е преведена машинно – вижте отказа от отговорност. Английската версия на тази статия за справка можете да намерите тук .

Когато импортирате релационни данни чрез Power Pivot в Microsoft Excel 2013 можете да създадете заявката интерактивно чрез конструктора на релационни заявки. Конструкторът на релационни заявки помага за създаването на заявка, която указва данните за извличане на релационни данни от Microsoft SQL Server, SQL база данни на Microsoft Azure и паралелен склад за данни на Microsoft SQL Server. Използвайте графичния конструктор на заявки, за да преглеждате метаданни, да изграждате заявката интерактивно и да разглеждате резултатите от заявката.  Другият вариант е да използвате конструктора на заявки, базиран на текст, за да разгледате заявката, която е изградена от графичния конструктор на заявки, или за да промените заявка. Също така е възможно да се импортира съществуваща заявка от файл или отчет.

  1. Отворете прозореца на PowerPivot.

  2. Щракнете върху Получаване на външни данни > От база данни > От SQL Server.

  3. В съветника за импортиране на таблици задайте името на сървъра, идентификационните данни и базата данни. Щракнете върху Напред.

  4. Щракнете върху Създаване на заявка, която да указва какви данни да се импортират. Щракнете върху Напред.

  5. Щракнете върху Проектиране, за да отворите конструктора на релационни заявки.

В зависимост от предпочитанията заявката може да бъде написана на SQL език чрез използването на редактор, базиран на текст. За да превключите към конструктора на заявки, базиран на текст, щракнете върху Редактиране като текст от лентата с инструменти. След като заявката е редактирана в конструктора на заявки, базиран на текст, графичният конструктор на заявки не може да бъде използван повече.

Забележка : За да се укаже заявка за типове на източник на данни Oracle, OLE DB, ODBC и Teradata, трябва да се използва конструкторът на заявки, базиран на текст.

В тази статия

Графичен конструктор на заявки

Екран на изгледа на базата данни

Екран с избрани полета

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

Екран "Параметри на функцията"

Екран "Релации"

Екран с приложени филтри

Екран "Резултати от заявка"

Лента с инструменти на графичен конструктор на заявки

Подробна информация относно автоматично генерирани заявки

Конструктор на заявки, базиран на текст

Лента с инструменти на конструктора на заявки, базиран на текст

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

Пример

Тип команда StoredProcedure

Пример

Тип команда TableDirect

Пример

Графичен конструктор на заявки

В графичния конструктор на заявки може да се преглеждат таблици с бази данни и изгледи, интерактивно да се изгражда инструкция SQL SELECT, която указва таблиците с бази данни и колоните, от които ще се извличат данни за набора от данни. Вие избирате полетата, които ще се включат в набора от данни, и по желание указвате филтри, които да ограничават данните в набора от данни. Може да укажете, че филтрите ще се използват като параметри и да предоставите стойност за филтър по време на изпълнение. При избор на множество таблици конструкторът на заявки описва релацията между множествата на две таблици.

Графичният конструктор на заявки е разделен на три области. В зависимост от това дали заявката използва таблици/изгледи, или съхранени процедури/таблични функции, оформлението на конструктора на заявки се променя.

Забележка : 

Паралелният склад за данни на SQL Server не поддържа съхранени процедури или таблични функции.

Следната фигура показва графичния конструктор на заявки, когато той се използва с таблици или изгледи.

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

Следната фигура показва графичния конструктор на заявки, когато той се използва със съхранени процедури или таблични функции.

rs_relational_graphical_SP

Следната таблица описва функцията на всеки екран.

Екран

Функция

Изглед на базата данни

Показва йерархичен изглед на таблици, изгледи, съхранени процедури и таблични функции, които са организирани от схема на база данни.

Избрани полета

Показва списък с имена на полета на бази данни от избрани елементи в екрана за изглед на база данни. Тези полета стават колекция от полета за набора от данни.

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

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

Релации

Показва списък със релации, които са извлечени от избраните полета за таблици или изгледи в екрана за изглед на база данни, или релациите, които са създадени ръчно.

Приложени филтри

Показва списъка с полета и критерии за филтър за таблици или изгледи в изгледа на база данни.

Резултати от заявка

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

Екран на изгледа на базата данни

Екранът на изгледа на базата данни показва метаданни за обекти с база данни, които може да разглеждате, като това се определя от връзката на източника на данни и идентификационни данни. Йерархичният изглед представя обекти с база данни, организирани от схема с база данни. Разширете възела за всяка схема, за да разглеждате таблици, изгледи, съхранени процедури и таблични функции. Разширете таблицата или изгледа, за да покажете колоните.

Екран с избрани полета

Екранът с избрани полета показва полетата в набора от данни и групите и агрегиранията, които да се включат в заявката.

Показани са следните опции:

  • Избрани полета   Показва полета от бази данни, които сте избрали за таблици или изгледи или параметри за вход за съхранени процедури или таблични функции. Полетата, които се показват в този екран стават колекцията от полета за набора от данни.

  • Използвайте екрана за отчет на данни, за да разгледате колекцията от полета за набор от данни.

  • Групиране и обединяване   Превключва използването на групиране и агрегиране в заявката. Ако изключите групирането и агрегатната функция, след като сте добавили групиране и агрегирания, те ще бъдат премахнати. Текстът, (няма), показва, че не са използвани групиране и агрегирания. Ако включите групирането и агрегатната функция, предишните групиране и агрегирания ще бъдат възстановени.

  • Поле изтриване   изтрива избраното поле.

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

Заявки към бази данни с голяма таблица може да върнат брой редове с данни, който е твърде голям, за да бъде използван, и оказва влияние на работата на мрежата, която пренася голямо количество данни. За да ограничите броя на редове с данни, заявката може да включи обединения SQL, които агрегират данните на сървъра с бази данни.

Агрегирането предоставя обобщение на данните и данните са групирани така, че да поддържат агрегирането, което доставя обобщените данни. Когато се използва агрегиране в заявката, другите полета, върнати от заявката, се групират автоматично и заявката включва клауза SQL GROUP BY. Данните могат да бъдат обобщени, без да се добавя обединение, като се използва единствено опция Групиране по в списъка Групиране и обединяване. Много агрегирания включват версия, която използва ключова дума DISTINCT. Включването на DISTINCT елиминира дублирането на стойности.

Microsoft SQL Server използва Transact-SQL, а паралелният склад за данни на Microsoft SQL Server използва SQL. И двата диалекта на езика на SQL поддържат клаузата, ключовата дума и обединенията, които конструкторът на заявки предоставя.

Следната таблица изброява агрегиранията и предоставя кратки описания за тях.

Агрегиране

Описание

Avg

Връщане на средното на стойностите в групата. Използва агрегиране SQL AVG.

Брой

Връщане на броя на елементите в групата. Използва агрегиране SQL COUNT.

Голям брой

Връща броя на елементите в групата. Това е агрегиране 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 отделно

Връща уникални статистически стандартни отклонения. Използва комбинация от агрегиране 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. Ако нито един от тези типове съединение се прилагат, в колоната Тип съединение показва несвързани. Няма кръст присъединяване съединения се създават за несвързани таблици; Вместо това трябва ръчно да създадете релации с присъединяването на колоните в таблиците по-наляво и надясно.

  • Дясна таблица   Показва името на втората таблица, която е част от релация съединение.

  • Полета съединение   Изброяват двойки съединени полета, ако една релация има множество условия за съединение, двойките съединени полета се разделят със запетая (,).

Екран с приложени филтри

Екранът с приложени филтри показва критериите, които се използват, за да се ограничи броят на редовете с данни, които са извлечени по време на изпълнение. Критериите, указани в този екран, се използват за генерирането на клауза SQL WHERE. Когато се избере опция параметър, параметър се създава автоматично.

Показани са следните колони:

  • Име на поле   Показва името на полето, към което да се приложат критериите.

  • Оператор   Показва операцията, която да се използва в израза с филтър.

  • Стойност   Показва стойността да се използва в израза с филтър.

  • Параметър   Показва опцията за добавяне на параметър на заявката.

Екран "Резултати от заявка"

Екран "Резултати от заявка" показва резултатите от автоматично генерираната заявка, която е указана след избор в другите екрани. Колоните в набора от резултати са полетата, които се указват в екран "Избрани полета", като данните в редовете са ограничени от филтрите, които са избрани от екран "Приложени филтри".

Тези данни показват стойности от източници на данни по време на изпълнение на заявката.

Редът на сортиране в набора от резултати се определя от реда на извличане на данните от източника на данни. Редът на сортиране може да се промени чрез директна промяна на текста на заявката.

Лента с инструменти на графичен конструктор на заявки

Лентата с инструменти на графичния конструктор на заявки предоставя следните бутони, които помагат при указването или показването на резултатите от заявката.

Бутон

Описание

Редактиране като текст

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

Импортиране

Импортиране на съществуваща заявка от файл или отчет. Типове файлове .sql и .rdl се поддържат.

Изпълнение на заявката

Изпълнете заявката. Екран "Резултати от заявката" показва набора от резултати.

Най-горе на страницата

Подробна информация относно автоматично генерирани заявки

Когато се избират таблици и колони или съхранени процедури и изгледи в екрана "Изглед на базата данни", конструкторът на заявки извлича релации на основен главен ключ и чужд ключ от схемата с база данни. Чрез анализиране на тези релации конструкторът на заявки открива релации между таблици и добавя съединения в заявката. Тогава заявката може да бъде променена, като се добавят групирания и агрегирания, като се добавят или променят релации и като се добавят филтри. За да видите текста на заявката, който показва колоните, от които се извличат данните, съединенията между таблиците и всички групирания и обединения, щракнете върху Редактиране като текст.

Най-горе на страницата

Конструктор на заявки, базиран на текст

Конструкторът на заявки, базиран на текст, предоставя начин за указване на заявката чрез използване на езика на заявката, поддържан от източника на данни, за изпълнение на заявката и за преглед на резултатите по време на проектиране. Може да се указват множество изрази на SQL, синтаксис на заявки или команди за разширения за обработване на данни по избор и заявки, указани като изрази.

Тъй като конструкторът на заявки, базиран на текст, не обработва заявката предварително, той приема всякакъв синтаксис на заявки. Това е инструментът на конструктор на заявки по подразбиране за много видове източници на данни.

Конструкторът на заявки, базиран на текст, показва лента с инструменти и следните два екрана:

  • Заявка   Показва текст на заявката, име на таблица или име на съхранена процедура в зависимост от типа на заявката. Не всички типове заявки са налични за всички типове източници на данни. Например име на таблица се поддържа само за тип на източник на данни OLE DB.

  • Резултат   Показва резултатите от изпълнението на заявката по време на проектиране.

Лента с инструменти на конструктора на заявки, базиран на текст

Конструкторът на заявки, базиран на текст, предоставя една лента с инструменти за всички типове команди. Следната таблица изброява всеки бутон от лентата с инструменти и неговата функция.

Бутон

Описание

Редактиране като текст

Превключете към конструктора на заявки, базиран на текст, и графичния конструктор на заявки. Не всички типове източници на данни поддържат графични конструктори на заявки.

Импортиране

Импортиране на съществуваща заявка от файл или отчет. Само типове файлове sql и rdl се поддържат.

Икона на конструктора на релационни заявки

Изпълнете заявката и покажете набора от резултати в екран "Резултати".

Тип команда

Изберете Текст, StoredProcedure или TableDirect. Ако една съхранена процедура има параметри, диалоговият прозорец Дефиниране на параметрите на заявката се появява, когато щракнете върху Изпълни на лентата с инструменти, и тогава нужните стойности може да бъдат попълнени.

Забележка : Ако една съхранена процедура връща повече от един набор от резултати, само първият набор от резултати се използва, за да попълни набора от данни.

Забележка : TableDirect е налична само за тип на източник на данни OLE DB.

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

Когато се създава набор от данни на SQL Server, конструкторът на релационни заявки се отваря по подразбиране. За да превключите към конструктора на заявки, базиран на текст, щракнете върху превключващия бутон Редактиране като текст от лентата с инструменти. Конструкторът на заявки, базиран на текст, показва два екрана: "Заявки" и "Резултати". Фигурата по-долу показва всеки екран.

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

Следната таблица описва функцията на всеки екран.

Екран

Функция

Заявка

Показва текста на заявка SQL. Използвайте този екран, за да напишете или редактирате заявка SQL.

Резултат

Показва резултатите от заявката. За да изпълните заявката, щракнете с десния бутон на мишката в който и да е екран и щракнете върху Изпълни, или щракнете върху бутона Изпълни в лентата с инструменти.

Пример

Следната заявка връща списъка с имена от таблица с име ContactType.

Изберете име от ContactType

Когато щракнете върху Изпълни в лентата с инструменти, командата в екрана Заявка се изпълнява и резултатите и списъка с имената се показват в екран Резултат.

Тип команда StoredProcedure

Когато изберете Тип команда StoredProcedure, конструкторът на заявки, базиран на текст, показва два екрана: "Заявка" и "Резултат". Въведете името на съхранената процедура в екран "Заявка" и щракнете върху Изпълни от лентата с инструменти. Ако съхранената процедура използва параметри, диалоговият прозорец Дефиниране на параметрите на заявката се отваря. Въведете стойности на параметъра за съхранената процедура.

Следната фигура показва екраните "Заявка" и "Резултати", когато съхранената процедура се изпълнява. В този случай параметрите за вход са константи.

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

Следната таблица описва функцията на всеки екран.

Екран

Функция

Заявка

Показва името на съхранената процедура и всички параметри за вход.

Резултат

Показва резултатите от заявката. За да изпълните заявката, щракнете с десния бутон на мишката в който и да е екран и щракнете върху Изпълни, или щракнете върху бутона Изпълни в лентата с инструменти.

Пример

Следната заявка извиква съхранена процедура с име uspGetWhereUsedProductID. Когато съхранената процедура има параметри за вход, стойностите на параметъра трябва да се предоставят при изпълнение на заявката.

uspGetWhereUsedProductID

Щракнете върху бутона Изпълни (!). Следната таблица предоставя пример на параметри uspGetWhereUsedProductID, за които се указват стойности в диалогов прозорец Дефиниране на параметрите на заявката.

@StartProductID

820

@CheckDate

20010115

Тип команда TableDirect

Когато изберете Тип команда TableDirect, конструкторът на заявки, базиран на текст, показва два екрана: "Заявка" и "Резултат". Когато въведете таблица и щракнете върху бутона Изпълни, всички колони за тази таблица се връщат.

Пример

За тип на източник на данни OLE DB следната заявка на набор от данни връща набор от резултати за всички типове контакти в таблица ContactType.

ContactType

Когато въведете името на таблицата Contacttypeе, е еквивалентно на създаването на SQL командата SELECT * от ContactType.

Най-горе на страницата

Забележка : Отказ от отговорност за машинен превод: Тази статия е преведена от компютърна система без човешка намеса. Microsoft предлага тези машинни преводи, за да помогне на потребителите, които не говорят английски, да се възползват от съдържанието за продукти, услуги и технологии на Microsoft. Тъй като статията е преведена машинно, е възможно да съдържа грешки в речника, синтаксиса и граматиката.

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×