Конструктор реляционных запросов (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 DB, ODBC и Teradata, необходимо использовать текстовый конструктор запросов.

В этой статье

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

Панель «Представление базы данных»

Панель «Выбранные поля»

Группа и статистическое выражение

Панель «Параметры функции»

Панель «Связи»

Панель «Примененные фильтры»

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

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

Основные сведения об автоматически создаваемых запросах

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

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

Тип команды Text

Пример

Тип команды 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.

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 DB.

  • Результат   Показывает результаты выполнения запроса во время разработки.

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

Текстовый конструктор запросов предоставляет одну панель инструментов для всех типов команд. В следующей таблице перечислены все кнопки панели инструментов и их функции.

Кнопка

Описание

Изменить как текст

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

Импорт

Импорт существующего запроса из файла или отчета. Поддерживаются только SQL- и RDL-файлы.

Значок конструктора реляционных запросов

Выполнить запрос и показать результирующий набор в области результатов.

Тип команды

Выберите Text, StoredProcedure или TableDirect. Если хранимая процедура имеет параметры, при нажатии на панели инструментов кнопки Выполнить появится диалоговое окно Определить параметры запроса, в котором можно ввести значения параметров.

Примечание : Если хранимая процедура возвращает более одного результирующего набора, для заполнения набора данных значениями используется первый результирующий набор.

Примечание : Функция TableDirect доступна только для типа источника данных OLE DB.

Тип команды Text

При создании набора данных SQL Server по умолчанию открывается конструктор реляционных запросов. Чтобы переключиться в текстовый конструктор запросов, нажмите кнопку переключателя Изменить как текст  на панели инструментов. В окне текстового конструктора запросов имеются две панели: панель запросов и область результатов. На следующем рисунке показана каждая из панелей.

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

В следующей таблице описаны функции каждой панели.

Панель

Функция

Запрос

Отображает текст SQL-запроса. Используйте эту панель, чтобы написать или изменить SQL-запрос.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши любую область и выберите команду Выполнить либо нажмите кнопку Выполнить на панели инструментов.

Пример

Следующий запрос возвращает список имен из таблицы с именем ContactType.

SELECT Name FROM ContactType

При нажатии кнопки Выполнить на панели инструментов выполняется команда на панели Запрос, а результаты, представляющие список имен, выводятся на панели Результат.

Тип команды StoredProcedure

Если в поле Тип команды выбрано значение StoredProcedure, то текстовый конструктор запросов содержит две панели: панель запросов и область результатов. Введите имя хранимой процедуры в области «Запрос» и нажмите кнопку Выполнить на панели инструментов. Если хранимые процедуры используют параметры, откроется диалоговое окно Определить параметры запроса. Введите значения параметров для хранимой процедуры.

На следующем рисунке показаны области «Запрос» и «Результаты» при выполнении хранимой процедуры. В данном случае входные параметры являются константами.

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

В следующей таблице описаны функции каждой панели.

Панель

Функция

Запрос

Отображает имя хранимой процедуры и все входные параметры.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши любую область и выберите команду Выполнить либо нажмите кнопку Выполнить на панели инструментов.

Пример

Следующий запрос вызывает хранимую процедуру uspGetWhereUsedProductID. Если у хранимой процедуры есть входные параметры, следует указать их значения при запуске запроса.

uspGetWhereUsedProductID

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

@StartProductID

820

@CheckDate

20010115

Тип команды TableDirect

Если в поле Тип команды выбрано значение TableDirect, то текстовый конструктор запросов содержит две панели: панель запросов и область результатов. Если ввести имя таблицы и нажать кнопку Выполнить, возвращаются все столбцы этой таблицы.

Пример

Для типа источника данных OLE DB следующий запрос к набору данных возвращает результирующий набор для всех типов контактов в таблице ContactType.

ContactType

Ввод имени таблицы ContactType равнозначен созданию следующей инструкции SQL: SELECT * FROM ContactType.

К началу страницы

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×