Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добавьте параметр в отчет, чтобы пользователи могли фильтровать данные отчета из источника данных или в самом отчете. Параметры отчета создаются автоматически для каждого параметра запроса, который вы включаете в запрос набора данных. Тип данных параметра определяет, как он отображается на панели инструментов представления отчета.
Чему вы научитесь
В этом руководстве вы узнаете, как выполнить следующие действия:
Создайте матричный отчет и набор данных с помощью мастера создания таблиц и матриц
Упорядочение данных, выбор макета и стиля в мастере таблиц или матриц
Изменение типа данных по умолчанию и других свойств для параметра отчета
Замечание
В этом руководстве шаги мастера объединяются в одну процедуру. Пошаговые инструкции по переходу к серверу отчетов, выбору источника данных и созданию набора данных см. в первом руководстве из этой серии: руководство по созданию базового отчета таблицы (построителя отчетов).
Предполагаемое время выполнения этого руководства: 25 минут.
Требования
Дополнительные сведения о требованиях см. в разделе Предварительные требования для учебников (построитель отчетов).
1. Создайте отчет матрицы и набор данных с помощью мастера таблицы или матрицы.
Создание матрицного отчета, источника данных и набора данных.
Замечание
В этом руководстве запрос содержит значения данных, поэтому он не нуждается во внешнем источнике данных. Это делает запрос довольно длинным. В бизнес-среде запрос не будет содержать данные. Это предназначено только для обучения.
Создание нового матрицного отчета
Нажмите кнопку "Пуск", наведите указатель на программы, наведите указатель на microsoft SQL Server 2014построитель отчетов, а затем щелкните построитель отчетов.
Откроется диалоговое окно "Начало работы ".
Замечание
Если диалоговое окно "Начало работы" не отображается, нажмите кнопку "Построитель отчетов, затем выберите "Создать".
В левой области убедитесь, что выбран отчет .
В правой области щелкните мастер таблиц или матриц.
Нажмите кнопку Создать.
На странице "Выбор набора данных " нажмите кнопку "Создать набор данных".
Нажмите кнопку Далее.
На странице выбора подключения к источнику данных выберите источник данных, который является типом SQL Server. Выберите источник данных из списка или перейдите к серверу отчетов, чтобы выбрать его.
Нажмите кнопку Далее.
На странице "Конструктор запроса" нажмите кнопку "Изменить как текст".
Вставьте следующий запрос в область запросов:
;WITH CTE (StoreID, Subcategory, Quantity) AS ( SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity UNION SELECT 200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity UNION SELECT 200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity UNION SELECT 199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity UNION SELECT 306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity UNION SELECT 306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity UNION SELECT 306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity UNION SELECT 306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity) SELECT StoreID, Subcategory, Quantity FROM CTEЭтот запрос объединяет результаты нескольких инструкций Transact-SQL SELECT внутри общего табличного выражения, чтобы указать значения, основанные на упрощенных данных из образца базы данных Contoso. Данные о продажах Contoso представляют данные о международных продажах для потребительских товаров. В этом руководстве используются данные о продажах камер. Подкатегории представляют цифровые камеры, цифровые зеркальные объективы (SLR), камеры, камкордеры и аксессуары.
Запрос определяет имена столбцов, которые включают идентификатор магазина, подкатегорию товара продаж и количество, заказанное для заказов на продажу из трех магазинов. В этом запросе имя хранилища не входит в результирующий набор. Далее в этом руководстве вы будете искать имя хранилища, соответствующего идентификатору хранилища из отдельного набора данных.
Этот запрос не содержит параметров запроса. В дальнейшем в этом руководстве вы добавите параметры запроса.
На панели инструментов конструктора запросов нажмите кнопку "Выполнить " (!). Результирующий набор отображает 11 строк данных, которые показывают количество элементов, проданных для каждого подкатегории для четырех магазинов, и содержит следующие столбцы: StoreID, Subcategory, Quantity.
Нажмите кнопку Далее.
2. Упорядочение данных, выбор макета и стиля из мастера таблиц или матриц
Используйте мастер, чтобы предоставить начальный дизайн, на котором будут отображаться данные. Панель предварительного просмотра в мастере помогает визуализировать результат группировки данных перед завершением проектирования таблицы или матрицы.
Организация данных по группам
На странице "Упорядочивание полей " перетащите подкатегорию в группы строк.
Перетащите StoreID в группы столбцов.
Перетащите количество в поле Значения.
Вы организовали количество проданных значений в строках, сгруппированных по подкатегории. Для каждого магазина будет один столбец.
Нажмите кнопку Далее.
На странице Выбор макета, в разделе Параметры, убедитесь, что выбрано Показать промежуточные итоги и общие итоги.
При запуске отчета последний столбец будет отображать общее количество каждого подкатегории для всех хранилищ, а последняя строка будет отображать общее количество всех подкатегорий для каждого хранилища.
Нажмите кнопку Далее.
На странице "Выбор стиля " в области "Стили" выберите стиль.
Нажмите кнопку Готово.
Матрица добавляется в область конструктора. В матрице отображаются три столбца и три строки. Содержимое ячеек в первой строке — подкатегория, [StoreID], и Total. Содержимое ячеек во второй строке содержит выражения, представляющие подкатегорию, количество товаров, проданных для каждого магазина, и общее количество для каждого подкатегории для всех магазинов. Ячейки в последней строке отображают общий итог для каждого хранилища.
Щелкните в матрице, наведите указатель мыши на край первого столбца, перетащите маркер и расширьте столбец.
Нажмите кнопку "Запустить ", чтобы просмотреть отчет.
Отчет выполняется на сервере отчетов и отображает заголовок и время обработки отчета.
В этом сценарии заголовки столбцов отображают идентификатор хранилища, но не имя хранилища. Позже вы добавите выражение для поиска названия магазина в наборе данных, который содержит пары идентификатор/название магазина.
3. Добавление параметра запроса для создания параметра отчета
При добавлении параметра запроса в запрос построитель отчетов автоматически создает параметр отчета с одним значением с свойствами по умолчанию для имени, запроса и типа данных.
Добавление параметра запроса
Перейдите в режим конструктора.
В области "Данные отчета" разверните папку наборов данных , щелкните правой кнопкой мыши DataSet1 и щелкните "Запрос".
Добавьте следующее предложение Transact-SQL
WHEREв качестве последней строки в запросе:WHERE StoreID = (@StoreID)Предложение
WHEREограничивает извлеченные данные идентификатором хранилища, заданным параметром запроса @StoreID.На панели инструментов конструктора запросов нажмите кнопку "Выполнить " (!). Откроется диалоговое окно "Определение параметров запроса " и появится запрос значения для параметра запроса @StoreID.
В поле "Значение параметра" введите 200.
Нажмите кнопку ОК.
Результирующий набор отображает количество, проданное для аксессуаров, камкордеров и цифровых камер SLR для идентификатора магазина 200.
Нажмите кнопку ОК.
В области "Данные отчета" разверните папку "Параметры ".
Обратите внимание, что теперь существует параметр отчета с именем @StoreID. По умолчанию параметр имеет тип данных Text. Так как идентификатор хранилища является целым числом, вы измените тип данных на целое число в следующей процедуре.
4. Изменение типа данных по умолчанию и других свойств для параметра отчета
После создания параметра отчета можно настроить значения по умолчанию для свойств.
Изменение типа данных по умолчанию для параметра отчета
В области "Данные отчета" в узле "Параметры " щелкните правой кнопкой мыши @StoreID и выберите пункт "Свойства параметра".
В командной строке введите идентификатор Store? Этот текст отображается на панели инструментов средства просмотра отчетов при запуске отчета.
В раскрывающемся списке в типе данных выберите целочисленное число.
Примите оставшиеся значения по умолчанию в диалоговом окне.
Нажмите кнопку ОК.
Предварительный просмотр отчета. Средство просмотра отчетов отображает запрос для @StoreID.
На панели инструментов средства просмотра отчетов рядом с идентификатором Магазина введите 200 и нажмите кнопку "Просмотреть отчет".
4a. Добавьте набор данных для указания доступных значений и отображаемых имен
Чтобы убедиться, что пользователь может вводить только допустимые значения для параметра, можно создать раскрывающийся список значений для выбора. Значения могут поступать из набора данных или из указанного списка. Доступные значения должны быть предоставлены из набора данных с запросом, который не содержит ссылку на параметр.
Создание набора данных для допустимых значений для параметра
Перейдите в режим конструктора.
В области данных отчета щелкните правой кнопкой мыши папку наборов данных и нажмите кнопку "Добавить набор данных".
В поле "Имя" введите "Магазины".
Выберите набор данных, внедренный в мой отчет .
В раскрывающемся списке источника данных выберите источник данных, созданный в первой процедуре.
В типе запроса убедитесь, что выбран текст .
В запрос вставьте следующий текст:
SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreNameНажмите кнопку ОК.
В области "Данные отчета" отображаются поля StoreID и StoreName в узле " Хранилище наборов данных".
4b. Указание доступных значений для создания раскрывающегося списка значений
После создания набора данных для предоставления доступных значений необходимо изменить свойства отчета, чтобы указать набор данных и поле для заполнения раскрывающегося списка допустимых значений на панели инструментов представления отчетов.
Предоставление доступных значений для параметра из набора данных
В области данных отчета щелкните правой кнопкой мыши параметр @StoreID и выберите пункт "Свойства параметров".
Щелкните "Доступные значения" и нажмите кнопку "Получить значения" из запроса.
В раскрывающемся списке в наборе данных щелкните "Магазины".
В поле "Значение" в раскрывающемся списке щелкните StoreID.
В поле "Метка" в раскрывающемся списке щелкните StoreName. Поле метки указывает отображаемое имя значения.
Щелкните Общие.
В командной строке введите имя магазина?
Теперь пользователь выбирает из списка имен магазинов вместо идентификаторов хранилища. Обратите внимание, что тип данных параметра остается целым числом , так как параметр основан на идентификаторе хранилища, а не имени хранилища.
Нажмите кнопку ОК.
Предварительный просмотр отчета.
На панели инструментов средства просмотра отчетов текстовое поле параметра теперь представляет собой раскрывающийся список, в котором отображается <значение выбора>.
В раскрывающемся списке выберите Contoso Catalog Store и нажмите кнопку "Просмотреть отчет".
В отчете отображается количество проданных для аксессуаров, камкордеров и цифровых камер SLR для идентификатора магазина 200.
4c. Укажите значения по умолчанию, чтобы отчет выполняется автоматически
Можно указать значение по умолчанию для каждого параметра, чтобы отчет выполнялось автоматически.
Указание значения по умолчанию из набора данных
Перейдите в режим конструктора.
В области данных отчета щелкните правой кнопкой мыши @StoreID и выберите пункт "Свойства параметра".
Щелкните значения по умолчанию, а затем щелкните Получить значения из запроса.
В раскрывающемся списке в наборе данных щелкните "Магазины".
В поле "Значение" из раскрывающегося списка выберите StoreID.
Нажмите кнопку ОК.
Предварительный просмотр отчета.
Для @StoreID средство просмотра отчетов отображает значение Contoso North America Online Store. Это первое значение из результирующего набора для набора данных Stores. В отчете отображается объем продаж цифровых камер для идентификатора магазина 199.
Указание настраиваемого значения по умолчанию
Перейдите в режим конструктора.
В области данных отчета щелкните правой кнопкой мыши @StoreID и выберите пункт "Свойства параметра".
Щелкните значения по умолчанию и нажмите кнопку "Указать значения", а затем нажмите кнопку "Добавить". Добавляется новая строка значений.
В поле Value введите 200.
Нажмите кнопку ОК.
Предварительный просмотр отчета.
Для @StoreID средство просмотра отчетов отображает значение Contoso Catalog Store. Это отображаемое имя для идентификатора хранилища 200. В отчете отображается количество проданных для аксессуаров, камкордеров и цифровых камер SLR для идентификатора магазина 200.
4d. Поиск значения из набора данных с парами "Имя-значение"
Набор данных может содержать идентификатор и соответствующее поле имени. Если у вас есть только идентификатор, можно найти соответствующее имя в созданном наборе данных, включающее пары "имя-значение".
Поиск значения из набора данных
Перейдите в режим конструктора.
В области конструктора в матрице в заголовке первого столбца строки щелкните правой кнопкой мыши
[StoreID]и выберите выражение.В области выражений удалите весь текст, кроме начала
equals(=).В категории разверните общие функции и щелкните "Прочие". В области "Элемент" отображается набор функций.
В элементе дважды щелкните "Поиск". Панель выражений отображает
=Lookup(. В области "Пример" отображается пример синтаксиса lookup.Введите следующее выражение:
=Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")Функция поиска принимает значение StoreID, ищет его в наборе данных "Магазины" и возвращает значение StoreName.
Нажмите кнопку ОК.
Заголовок столбца хранилища содержит отображаемый текст для сложного выражения: <<Expr>>.
Предварительный просмотр отчета.
Текстовое поле в верхней части каждой страницы отображает имя хранилища вместо идентификатора магазина.
5. Отображение выбранного значения параметра в отчете
Когда у пользователя есть вопросы о отчете, помогает знать, какие значения параметров были выбраны. Вы можете сохранить выбранные пользователем значения для каждого параметра в отчете. Одним из способов является отображение параметров в текстовом поле в нижнем колонтитуле страницы.
Отображение выбранного значения параметра и метки на нижнем колонтитуле страницы
Перейдите в режим конструктора.
Щелкните правой кнопкой мыши нижний колонтитул страницы, наведите указатель мыши на Вставка и затем нажмите Текстовое поле. Перетащите текстовое поле рядом с текстовым полем с меткой времени. Захватите боковую ручку текстового поля и расширьте ширину.
В области данных отчета перетащите параметр @StoreID в текстовое поле. Отображается
[@StoreID]текстовое поле.Чтобы отобразить метку параметра, щелкните текстовое поле, пока курсор вставки не появится после существующего выражения, введите пробел и перетащите другую копию параметра из области данных отчета в текстовое поле. Текстовое поле отображает
[@StoreID] [@StoreID].Щелкните правой кнопкой мыши первое выражение и выберите Выражение. Откроется диалоговое окно "Выражение ". Замените текст
ValueнаLabel.Нажмите кнопку ОК.
Отображается текст:
[@StoreID.Label] [@StoreID].Предварительный просмотр отчета.
6. Использование параметра отчета в фильтре
Фильтры помогают контролировать, какие данные следует использовать в отчете после получения из внешнего источника данных. Чтобы пользователь могли управлять данными, которые они хотят видеть, можно включить параметр отчета в фильтр для матрицы.
Указание параметра в фильтре матрицы
Перейдите в режим конструктора.
Щелкните правой кнопкой мыши дескриптор заголовка строки или столбца в матрице, а затем щелкните Tablix Properties.
Щелкните " Фильтры" и нажмите кнопку "Добавить". Появится новая строка фильтра.
В выражении в раскрывающемся списке выберите поле StoreID набора данных. Тип данных отображает целое число. Если значение выражения является полем набора данных, тип данных устанавливается автоматически.
В операторе убедитесь, что
equalsвыбран параметр (=).В поле Значениевведите
[@StoreID].[@StoreID]— это простой синтаксис выражения, представляющий=Parameters!StoreID.Value.Нажмите кнопку ОК.
Предварительный просмотр отчета.
Матрица отображает данные только для хранилища каталогов Contoso.
На панели инструментов средства просмотра отчетов для имени Магазина? выберите Contoso Asia Online Store и щелкните "Просмотреть отчет".
В матрице отображаются данные, соответствующие выбранному хранилищу.
7. Измените параметр отчета, чтобы принять несколько значений
Чтобы изменить параметр с одного на многозначный, необходимо изменить запрос и все выражения, содержащие ссылку на параметр, включая фильтры. Многозначный параметр — это массив значений. В запросе набора данных синтаксис запроса должен проверять включение одного значения в набор значений. В выражении отчета синтаксис выражений должен получить доступ к массиву значений вместо отдельного значения.
Изменение параметра с одного на многозначный
Перейдите в режим конструктора.
В области данных отчета щелкните правой кнопкой мыши @StoreID и выберите пункт "Свойства параметра".
Выберите "Разрешить несколько значений".
Нажмите кнопку ОК.
В области "Данные отчета" разверните папку наборов данных , щелкните правой кнопкой мыши DataSet1 и щелкните "Запрос".
Измените
equals(=) наINв условии Transact-SQLWHEREв последней строке запроса.WHERE StoreID IN (@StoreID)Оператор
INпроверяет, входит ли значение в набор значений.Нажмите кнопку ОК.
Щелкните правой кнопкой мыши дескриптор заголовка строки или столбца в матрице, а затем выберите команду "Tablix Properties".
Щелкните "Фильтры".
В операторе нажмите кнопку "В".
Нажмите кнопку ОК.
В текстовом поле, отображающее параметр в нижнем колонтитуле страницы, удалите весь текст.
Щелкните правой кнопкой мыши текстовое поле и щелкните выражение. Введите следующее выражение:
=Join(Parameters!StoreID.Label, ", ")Это выражение объединяет все имена хранилища, выбранные пользователем.
Нажмите кнопку ОК.
Щелкните текстовое поле перед только что созданным выражением, а затем введите следующее: "Выбранные значения параметров:".
Предварительный просмотр отчета.
Щелкните раскрывающийся список рядом с именем магазина?
Каждое допустимое значение отображается рядом с флажками.
Нажмите кнопку "Выбрать все" и нажмите кнопку "Просмотреть отчет".
В отчете отображается количество, проданное для всех подкатегорий для всех магазинов.
В раскрывающемся списке щелкните "Выбрать все ", чтобы очистить список, щелкните "Магазин каталога Contoso" и "Contoso Asia Online Store", а затем щелкните Просмотреть отчет.
8. Добавление логического параметра для условной видимости
Добавление логического параметра
В области дизайна, в области данных отчета, щелкните правой кнопкой мыши по Параметры, и нажмите Добавить параметр.
В поле "Имя" введите ShowSelections.
В поле ввода введите "Показать выделения?"
В Тип данных, из раскрывающегося списка выберите логический.
Нажмите значения по умолчанию.
Нажмите кнопку "Указать значение" и нажмите кнопку "Добавить".
В поле Value введите False.
Нажмите кнопку ОК.
Установить видимость на основе булевого параметра
В области конструктора нажмите правой кнопкой текстовое поле в нижнем колонтитуле страницы, отображающее значения параметров, а затем нажмите Свойства текстового поля.
Щелкните Видимость.
Выберите параметр Показать или скрыть на основе выражения, а затем нажмите кнопку выражения Fx.
Введите следующее выражение:
=Not Parameters!ShowSelections.ValueПараметр видимости текстового поля управляется свойством Hidden.
NotПримените оператор, чтобы при выборе параметра свойство Hidden было false, а текстовое поле будет отображаться.Нажмите кнопку ОК.
Нажмите кнопку ОК.
Предварительный просмотр отчета.
Текстовое поле, отображающее варианты параметров, не отображается.
На панели инструментов средства просмотра отчетов рядом с выбранными элементами нажмите кнопку
True.Предварительный просмотр отчета.
Текстовое поле в нижнем колонтитуле страницы отображает все выбранные имена магазинов.
9. Добавление заголовка отчета
Добавление заголовка отчета
В области конструктора нажмите Щелкните, чтобы добавить заголовок.
Введите параметризованные продажи продуктов и щелкните за пределами текстового поля.
10. Сохранение отчета
Сохранение отчета на сервере отчетов
В построителе отчетов нажмите кнопку "Сохранить как".
Щелкните "Последние сайты и серверы".
Выберите или введите имя сервера отчетов, в котором у вас есть разрешение на сохранение отчетов.
Появится сообщение о подключении к серверу отчетов. После завершения подключения вы увидите содержимое папки отчета, указанной администратором сервера отчетов в качестве расположения по умолчанию для отчетов.
В имени замените имя по умолчанию параметризованным отчетом о продажах.
Нажмите кнопку Сохранить.
Отчет сохраняется на сервере отчетов. Сервер отчетов, к которому вы подключены, отображается в строке состояния в нижней части окна.
Дальнейшие шаги
В этом руководстве показано, как добавить параметр в отчет. Дополнительные сведения о параметрах см. в разделе "Параметры отчета" (построитель отчетов и конструктор отчетов).
См. также
Учебники (построитель отчетов)
Построитель отчетов в SQL Server 2014