Занятие 5. Добавление параметров для передачи в детализированный отчет (службы SSRS)
Детализированный отчет — это отчет, открываемый переходом по приведенной в текущем отчете ссылке. Детализированный отчет открывается по щелчку на текстовом поле с созданным действием детализации. Если детализированный отчет имеет параметры, то необходимо передать значения параметров каждому параметру отчета.
На этом занятии создается новый отчет для отображения подробных данных по заказу, указанному параметром. Следует открыть существующий отчет и создать действие детализации для номера заказа. При выполнении данного отчета, щелчок по номеру заказа откроет новый отчет и отобразит подробности заказа.
Добавление нового отчета в открытый проект сервера отчетов
В обозревателе решений щелкните правой кнопкой мыши элемент Отчеты, укажите пункт Добавить и выберите команду Создать элемент.
В диалоговом окне Добавить новый элемент, расположенном под окном Шаблоны, выберите Отчет.
В окне Имя введите Подробности заказа.rdl и нажмите кнопку Добавить.
Конструктор отчетов откроет и отобразит новое определение отчета в конструкторе.
Создание ссылки на общий источник данных
В панели «Данные отчета» нажмите кнопку Создать и выберите Источник данных.
Примечание Если панель «Данные отчета» не видна, в меню Вид выберите пункт Данные отчета.
В поле Имя введите AdventureWorks_Ref.
Выберите Использовать ссылку на общий источник данных.
Из раскрывающегося списка выберите AdventureWorks.
Нажмите кнопку ОК.
Создание нового набора данных
В панели «Данные отчета» щелкните правой кнопкой мыши источник данных AdventureWorks_Ref и выберите команду Добавить набор данных.
В поле Имя введите Подробности_заказа.
Вставьте в текстовое поле Запрос следующий запрос:
SELECT P.Name AS Product, SD.OrderQty AS Quantity, SD.LineTotal FROM Sales.SalesOrderDetail AS SD INNER JOIN Production.Product AS P ON SD.ProductID = P.ProductID INNER JOIN Sales.SalesOrderHeader AS SOH ON SD.SalesOrderID = SOH.SalesOrderID WHERE (SOH.SalesOrderNumber = (@SalesOrder) ) ORDER BY SD.SalesOrderDetailID
Обратите внимание, что для создания коллекции полей для набора данных не нужно запускать запрос со значением параметра запроса в конструкторе запросов.
(Необязательно) Откройте конструктор запросов и нажмите Выполнить (!) на панели инструментов. Задайте для @SalesOrder следующее значение: SO43659. Панель результатов отобразит 12 продуктов. Нажмите кнопку ОК.
Нажмите кнопку ОК.
В панели «Данные отчета» разверните пункт «Параметры» и удостоверьтесь, параметр SalesOrder появился.
Добавление таблицы с полями набора данных
Перетащите таблицу из области элементов в область конструктора.
Перетащите следующие поля из области данных отчета в ячейки таблицы строки «Данные»: Product, Quantity, LineTotal.
Просмотрите отчет.
Перед запуском отчета необходимо ввести допустимый номер заказа.
На панели инструментов средства просмотра отчета в «Заказе на продажу» введите SO43659 и нажмите Просмотреть отчет.
Отчет отобразит линейные итоги для указанного заказа.
Форматирование таблицы
Переключитесь в режим конструирования.
Щелкните правой кнопкой мыши ячейку, содержащую [LineTotal], и выберите Свойства текстового поля.
Нажмите кнопку Номер.
В пункте Категория выберите Валюта.
Нажмите кнопку ОК.
Щелкните в таблице дескриптор первой строки, содержащей верхние колонтитулы столбца. Выбираются все ячейки строки.
В меню Формат укажите пункт Шрифт, затем выберите пункт Полужирный.
При просмотре отчета, значение пункта «LineTotal» отображается в виде валюты и верхние колонтитулы столбца отображаются полужирным шрифтом.
После этого добавьте в главном отчете действие детализации для указания этого отчета.
Добавление в отчет действие детализации отчета
В обозревателе решений дважды щелкните Заказы.rdl. Отчет откроется в режиме Конструктор.
Щелкните правой кнопкой мыши текстовое поле в столбце Order, содержащее [Order], и выберите Свойства текстового поля.
Нажмите кнопку Действие.
В пункте Включить как гиперссылку выберите Перейти к отчету.
Другой раздел появляется в диалоговом окне.
В раскрывающемся списке в области Выбрать отчет из списка выберите Подробности заказа.
В области Использовать эти параметры при выполнении отчета нажмите кнопку Добавить.
В сетку добавится новая строка.
В раскрывающемся списке Имя, содержащем список параметров, определенных для отчета, выберите SalesOrder.
В разделе Значение в раскрывающемся списке выберите [Order].
Это действие привяжет значение из основного отчета к параметру, которое ожидает целевой отчет.
Затем измените стиль и цвет текста ссылки детализации.
Нажмите кнопку Шрифт.
В разделе Эффекты в раскрывающемся списке выберите Подчеркивание.
Для открытия диалогового окна Выражение рядом с пунктом Цвет нажмите (fx).
Замените текст по умолчанию Черный на другой цвет, например, Синий.
Примечание Чтобы просмотреть допустимые значения цвета шрифта, в панели Значения выберите пункт Больше цветов. Откроется диалоговое окно Выбор цвета. В этом диалоговом окне можно найти допустимые цвета, и выбрать один для использования. Нажмите кнопку ОК.
Дважды нажмите кнопку ОК.
Добавленное текстовое поле теперь содержит подчеркнутый текст выбранного цвета. Эти зрительные признаки помогают пользователям понять, что в отчете содержится активная ссылка на другой отчет.
Предварительный просмотр отчета
Нажмите кнопку «Просмотр». Отчет Заказы отображает заказы, сгруппированные по дате. Столбец «Порядок» отображает номера заказов, являющихся ссылками детализации.
Щелкните номер заказа со ссылкой детализации.
Запускается отчет, на который указывает ссылка детализации, и отображает подробности заказа для данного номера заказа.
Примечание Чтобы вернуться в основной отчет используйте стрелку «Назад» на панели инструментов средства просмотра отчетов.
Следующие шаги
Учебник «Добавление параметров в отчет» пройден успешно. Дополнительные сведения о расширенных возможностях отчета см. в разделе Учебники (SSRS).