Пользовательский интерфейс конструктора реляционных запросов (построитель отчетов)
Построитель отчетов включает как графический, так и текстовый конструктор запросов, которые помогают создавать запросы, указывающие, какие данные следует получить из реляционных баз данных Microsoft SQL Server, Microsoft База данных SQL и Microsoft Параллельное хранилище данных SQL Server 2012. С помощью графического конструктора запросов можно исследовать метаданные, интерактивно создавать запросы и просматривать результаты запроса. С помощью текстового конструктора запросов можно просмотреть запрос, построенный с помощью графического конструктора запросов, или изменить запрос. Также можно импортировать существующий запрос из файла или отчета.
Примечание |
---|
Чтобы создать запрос к типам источников данных Oracle, OLE DB, ODBC и Teradata в построителе отчетов, необходимо использовать текстовый конструктор запросов. Дополнительные сведения см. в разделе Пользовательский интерфейс текстового конструктора запросов (построитель отчетов). |
Примечание по безопасности |
---|
При создании и выполнении запросов пользователи получают доступ к источникам данных. Следует предоставить минимальные разрешения на источники данных, например разрешение только на чтение. |
Графический конструктор запросов
Графический конструктор запросов позволяет просматривать таблицы и представления баз данных, выполнять интерактивное построение инструкции SQL SELECT, в которой указываются таблицы и столбцы базы данных, из которых нужно получить данные для набора данных. Следует выбрать поля, включаемые в набор данных, и при необходимости указать фильтры, ограничивающие данные в наборе данных. Можно указать, что фильтры используются в качестве параметров, и указывать значение фильтра во время выполнения. Если выбрать несколько связанных таблиц, конструктор запросов описывает связи между наборами двух таблиц.
Графический конструктор запросов состоит из трех областей. В зависимости от того, использует запрос таблицы и представления или хранимые процедуры и возвращающие табличное значение функции, макет конструктора запросов изменяется.
Примечание |
---|
База данных Параллельное хранилище данных SQL Server 2012 не поддерживает хранимые процедуры и возвращающие табличные значения функции. |
На следующем рисунке показан графический конструктор запросов при использовании таблиц и представлений.
На следующем рисунке показан графический конструктор запросов при использовании хранимых процедур и возвращающих табличное значение функций.
В следующей таблице описываются функции каждой панели.
Представление базы данных
Отображается иерархическое представление таблиц, представлений, хранимых процедур и возвращающих табличное значение функций, организованных схемой базы данных.Выбранные поля
Отображается список имен полей базы данных из выбранных элементов на панели «Представление базы данных». Эти поля становятся коллекцией полей для набора данных отчета.Параметры функции
Отображается список входных параметров для хранимых процедур или возвращающих табличное значение функций на панели представления базы данных.Связи
Отображает список связей, которые выводятся из выбранных полей для таблиц или представлений на панели «Представление базы данных», или связей, созданных вручную.Примененные фильтры
Отображается список полей и условия фильтра для таблиц или представлений в области представления базы данных.Результаты запроса
Отображает образец данных для результирующего набора автоматически созданного запроса.
Панель «Представление базы данных»
На панели «Представление базы данных» отображаются метаданные объектов базы данных, для просмотра которых у пользователя есть разрешения, определяемые соединением с источником данных и учетными данными. В иерархическом представлении отображаются объекты базы данных, организованные схемой базы данных. Можно развернуть узлы для каждой схемы, чтобы просмотреть таблицы, представления, хранимые процедуры и возвращающие табличное значение функции. Разверните таблицу или представление, чтобы отобразить столбцы.
Панель «Выбранные поля»
На панели «Выбранные поля» отображаются поля в наборе данных отчета, группы и статистические функции, которые необходимо включить в запрос.
Отображаются следующие параметры.
**Выбранные поля. ** Отображает поля базы данных, выбранные для таблиц или представлений, либо входные параметры для хранимых процедур или возвращающих табличное значение функций. Поля, отображаемые в этой панели, становятся коллекцией полей для набора данных отчета.
Чтобы просмотреть коллекцию полей набора данных отчета, воспользуйтесь областью данных отчета. Эти поля представляют данные, которые могут быть отображены в таблицах, представлениях, диаграммах и других элементах отчета при его просмотре.
**Группа и статистическое выражение. **Переключается между использованием группировки и статистических функций в запросе. При отключении функции группировки и выполнения статистического вычисления после добавления групп и статистических функций последние удаляются. Текст (нет) указывает на то, что группировка и статистические функции не используются. При включении функции группировки и выполнения статистического вычисления добавленные ранее группы и статистические функции будут восстановлены.
**Удалить поле. **Удаляет выбранное поле.
Группа и статистическое выражение
Запросы, адресованные базам данных с большими таблицами, могут возвращать несколько строк данных, слишком длинных для использования в отчете, и оказывают влияние на производительность работы сети, передающую огромное количество данных, и сервера отчета, на котором происходит обработка отчета. Чтобы ограничить количество строк данных, запрос может включать статистические выражения SQL, объединяющие данные на сервере базы данных. Статистические выражения SQL отличаются от статистических выражений на стороне клиента, которые применяются при подготовке отчета к просмотру.
Статистические выражения предоставляют сводки данных, а сами данные группируются, чтобы поддерживать статистическое выражение, предоставляющее сводные данные. При использовании статистического выражения в запросе другие поля, возвращаемые запросом, автоматически группируются и запрос включает предложение SQL GROUP BY. Можно создавать сводку данных без добавления статистического выражения, используя только параметр Группировка по в списке Группировка и статистическое выражение. Многие статистические выражения содержат версию, использующую ключевое слово DISTINCT. Включение DISTINCT позволяет избежать повторяющихся значений.
Microsoft SQL Server использует Transact-SQL, а Microsoft Параллельное хранилище данных SQL Server 2012 использует SQL. Оба диалекта языка SQL поддерживают предложение, ключевое слово и статистические выражения, предоставляемые конструктором запросов.
Дополнительные сведения о Transact-SQL см. в разделе Справочник по Transact-SQL (компонент Database Engine) электронной документации по SQL Server на сайте msdn.microsoft.com.
Следующая таблица содержит список агрегатов и предоставляет краткое описание каждого из них.
Агрегат |
Описание |
---|---|
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 2012 метаданные, необходимые для создания соединений, не предоставляются и связи невозможно обнаружить автоматически. Если запрос извлекает данные из Параллельное хранилище данных SQL Server 2012, все соединения таблицы должны создаваться вручную.
**Добавить связь. **Добавляет связь в список Связь.
Если автоопределение включено, таблицы, столбцы которых используются в запросе, автоматически добавляются в список Связь. Если автоопределение обнаружило связь между двумя таблицами, то одна таблица добавляется в столбец Левая таблица, а другая в столбец Правая таблица, а между ними создается внутреннее соединение. Каждая связь создает предложение JOIN в запросе. Если таблицы не связаны, то они включаются в столбец Левая таблица, а столбец Тип соединения указывает, что таблицы не связаны с другими таблицами. При включенном автоопределении вы не сможете вручную добавлять связи между таблицами, которые автоопределение определило как несвязанные.
При выключенном автоопределении можно добавлять и изменять связи между таблицами. Нажмите Изменить поля, чтобы указать поля, которые необходимо использовать для соединения двух таблиц.
Порядок, в котором представлены связи в списке Связь, соответствует порядку, в котором соединения выполняются в запросе. Можно изменять порядок связей, перемещая их вверх и вниз в списке.
При использовании нескольких связей в запросе на одну из таблиц в каждой связи, за исключением первой таблицы, должна иметься ссылка в предыдущих связях.
Если в предыдущей связи имеется ссылка на обе таблицы в связи, то связь не создает отдельное предложение соединения; вместо этого к предложению соединения, созданному для предыдущей связи, добавляется условие соединения. Тип соединения выводится предыдущей связью, которая ссылается на те же таблицы.
**Изменить поля. **Открывает диалоговое окно Изменить связанные поля, в котором можно добавлять и изменять связи между таблицами. Выберите поля, которые будут соединены, в правой и левой таблицах. Можно соединить несколько полей из левой таблицы и правой таблицы, чтобы указать несколько условий соединения в связи. Два поля, соединяющие левую и правую таблицы, не обязательно должны иметь одинаковые имена. Соединяемые поля должны иметь совместимые типы данных.
Удалить связь. Удаляет выбранную связь**.**
Вверх и **Вниз. **Перемещает связи вверх или вниз в списке Связь. Последовательность, в которой связи помещаются в запрос, может влиять на результаты запроса. Связи добавляются в запрос в том порядке, в котором они представлены в списке Связь.
Отображаются следующие столбцы.
Левая таблица. Отображается имя первой таблицы, являющейся частью отношения соединения.
Тип соединения. Отображает тип инструкции SQL JOIN, используемой в автоматически созданном запросе. По умолчанию, если было обнаружено ограничение внешнего ключа, используется INNER JOIN. Другими типами соединений могут быть LEFT JOIN или RIGHT JOIN. Если ни один из данных типов соединения неприменим, столбец Тип соединения отображает значение Без связи. Для несвязанных таблиц не создаются соединения CROSS JOIN, вместо этого необходимо вручную создать связи, соединяя столбцы в левой и правой таблицах. Дополнительные сведения о типах соединений см. в разделе «Основные принципы соединений» в SQL Server электронной документации по SQL Server на сайте msdn.microsoft.com.
Правая таблица. Отображается имя второй таблицы в связи соединения.
**Соединить таблицы. **Содержит список пар соединенных полей; если связь имеет несколько условий соединения, то пары полей соединения разделяются запятыми (,).
Панель «Примененные фильтры»
На панели «Примененные фильтры» отображаются условия, используемые для ограничения числа строк данных, возвращаемых во время выполнения. Условия, указанные в этой панели, используются для создания предложения SQL WHERE. При выборе режима параметров происходит автоматическое создание параметра отчета. Параметры отчета, основанные на параметрах запроса, позволяют пользователю указывать для запроса значения, управляющие данными в отчете.
Отображаются следующие столбцы.
Имя поля Отображается имя поля, к которому будет применено условие.
Оператор Отображается операция, которая будет использована в критерии фильтра.
Значение Отображается значение, которое будет использовано в критерии фильтра.
Параметр Отображается параметр для добавления параметра к запросу. С помощью диалогового окна «Свойства набора данных» можно просмотреть связи между параметрами запроса и параметрами отчета.
Панель результатов запроса
Н панели результатов запроса отображаются результаты автоматически созданного запроса, заданного выбором на других панелях. Столбцы результирующего набора — это поля, указанные на панели «Выбранные поля». Данные строк ограничиваются фильтрами, указанными на панели «Примененные фильтры». Если в запрос включены статистические выражения, то в результирующий набор будут включены новые столбцы статистических выражений. Например, если столбец Color обработан с помощью агрегата Count, результат запроса будет содержать новый столбец. По умолчанию для этого столбца задается имя Count_Color.
Эти данные представляют значения из источника данных на время выполнения запроса. Данные не сохраняются в определении отчета. При обработке в отчет возвращаются реальные данные.
Порядок сортировки в результирующем наборе определяется порядком получения данных из источника данных. Порядок сортировки может быть изменен путем изменения запроса или после получения данных для отчета.
Панель инструментов графического конструктора запросов
На панели инструментов конструктора реляционных запросов расположены следующие кнопки, помогающие указать или просмотреть результаты запроса.
Кнопка |
Описание |
---|---|
Изменить как текст |
Переключение в режим текстового конструктора запросов, чтобы просмотреть или изменить автоматически созданный запрос. |
Импорт |
Импорт существующего запроса из файла или отчета. Поддерживаются SQL и RDL-файлы. |
Выполнить запрос |
Выполните запрос. Результирующий набор отображается на панели результатов запроса. |
Основные сведения об автоматически создаваемых запросах
При выборе на панели «Представление базы данных» таблиц и столбцов или хранимых процедур и представлений, конструктор запросов получает из схемы базы данных базовые связи по первичному и внешнему ключам. Путем анализа этих связей конструктор запросов определяет связи между двумя таблицами и добавляет соединения в запрос. Затем можно изменять запрос посредством добавления групп и статистических выражений, добавления или изменения связей и добавления фильтров. Чтобы просмотреть текст запроса, отображающий столбцы, из которых извлекаются данные, соединения между таблицами и любые группы или статистические выражения, нажмите Редактировать как текст.
Текстовый конструктор запросов
Чтобы обеспечить наибольшую управляемость запроса, следует использовать текстовый конструктор запросов. Чтобы переключиться в текстовый конструктор запросов, на панели инструментов нажмите кнопку переключателя Редактировать как текст. После изменения запроса в текстовом конструкторе запросов будет невозможно использовать конструктор реляционных запросов. После этого запрос всегда будет открываться в текстовом конструкторе запросов. Дополнительные сведения см. в разделе Пользовательский интерфейс текстового конструктора запросов (построитель отчетов).