Занятие 7. Создание детализированного отчета
Добавления: 17 июля 2006 г.
Одна из целей использования параметров –– это углубленная детализация для получения других отчетов. На этом занятии объясняется, как добавить параметр в образец отчета AdventureWorks Territory Sales Drilldown, в котором данные отчета фильтруются по группам территорий продаж. Чтобы задать доступные значения для параметра, требуется создать набор данных TerritoryGroup, который получает различные значения, доступные для групп территорий продаж, из базы данных AdventureWorks.
На следующем занятии этот отчет станет целью для различных видов операций перемещения.
Открытие проекта сервера отчетов Advanced Parameters Tutorial
В среде SQL Server Business Intelligence Development Studio откройте проект сервера отчетов Advanced Parameters Tutorial, созданный на прошлом занятии.
В обозревателе решений дважды щелкните отчет Resellers Worldwide. Отчет откроется в режиме разметки.
Перейдите на вкладку Данные.
Импорт образца отчета Territory Sales Drilldown для базы данных AdventureWorks
В обозревателе решений правой кнопкой мыши щелкните папку с отчетами, выберите пункт Добавить а затем Существующий элемент. Откроется диалоговое окно Добавление существующего элемента.
Примечание.
С помощью команды Импортировать отчеты можно импортировать существующие отчеты, созданные в программе Microsoft Access, но нельзя импортировать существующие отчеты служб Reporting Services. Перейдите в папку с образцами отчетов AdventureWorks. Ее расположение по умолчанию — *<drive>:\*Program Files\Microsoft SQL Server\90\Образцы\Reporting Services\Report Samples\AdventureWorks Sample Reports. Дважды щелкните отчет Territory Sales Drilldown.rdl чтобы добавить его в проект Advanced Parameter Tutorial.
В обозревателе решений щелкните правой кнопкой мыши документ Territory Sales Drilldown.rdl и выберите пункт Переименовать. Введите Parameterized Territory Sales Drilldown.rdl. Нажмите клавишу ВВОД.
Дважды щелкните отчет Parameterized Territory Sales Drilldown. Отчет откроется в режиме разметки.
Далее необходимо изменить источник данных для этого отчета и воспользоваться общим источником данных, созданным на занятии 1.
Привязка набора данных к другому источнику данных
Щелкните вкладку Данные, чтобы перейти к просмотру данных. Появится следующая ошибка: «Невозможно установить соединение с базой данных. Укажите и проверьте строку соединения».
Отчет Parameterized Territory Sales Drilldown использует источник данных с именем «AdventureWorks». Необходимо изменить этот источник данных на общий источник данных с названием «Resellers».
В раскрывающемся списке Наборы данных выберите набор данных TerritorySales и нажмите кнопку Изменить выбранный набор данных.
На вкладке Запрос в раскрывающемся списке Источник данных выберите Resellers.
Нажмите кнопку ОК.
Нажмите кнопку Выполнить (!) для просмотра результирующего набора.
Появятся тысячи строк со значениями в шести столбцах: Name, SalesPersonID, FirstName, LastName, SalesOrderNumber, TotalDue.
Для параметризации этого отчета предстоит создать новый набор данных для допустимых значений. Затем требуется создать новый параметр отчета SalesTerritoryGroup и установить его допустимые значения, которые будут получены из этого набора данных.
Создание набора данных для допустимых значений
В раскрывающемся списке Набор данных выберите <Новый набор данных>. Откроется диалоговое окно Набор данных.
На вкладке Запрос в текстовом поле Имя введите текст ValidValuesforTerritoryGroup.
Убедитесь, что поле Источник данных содержит значение Resellers.
Убедитесь, что Типом команды является Текст.
В область запроса вставьте следующий запрос.
SELECT DISTINCT [Group] AS SalesTerritoryList FROM [AdventureWorks].[Sales].[SalesTerritory]
Столбец Group из таблицы Sales.SalesTerritory базы данных AdventureWorks содержит значения для территорий.
Нажмите кнопку Выполнить (!) для просмотра результирующего набора.
Столбец SalesTerritoryList будет содержать три строки: Europe, North America и Pacific. Эти значения будут считаться допустимыми значениями многозначного параметра SalesTerritoryGroup, создание которого будет рассмотрено в следующем разделе*.*
Добавление нового многозначного параметра отчета
Перейдите на вкладку Макет.
В меню Отчет выберите команду Параметры отчета. Откроется диалоговое окно Параметры отчета.
Нажмите кнопку Добавить. Будет создан новый параметр отчета со значениями по умолчанию.
В разделе «Свойства» в текстовом поле Имя введите SalesTerritoryGroup. Убедитесь, что поле типа данных содержит значение String.
Выберите параметр Многозначный.
В поле Запрос введите Sales Territory Group:.
Снимите флажок Разрешить пустое значение.
В разделе Доступные значения выберите Из запроса.
Из раскрывающегося списка Набор данных выберите TerritoryGroup.
Из раскрывающегося списка Поле значения выберите SalesTerritory.
Из раскрывающегося списка Поле метки выберите SalesTerritory.
В разделе Значения по умолчанию выберите Из запроса.
Из раскрывающегося списка Набор данных выберите TerritoryGroup.
Из раскрывающегося списка Поле значения выберите SalesTerritory.
В результате для всех значений, получаемых из набора данных ValidValuesforTerritoryGroup, будут установлены значения по умолчанию для SalesTerritoryGroup.
Нажмите кнопку ОК.
Был успешно определен параметр отчета и установлены для него допустимые значения. Следующим этапом будет изменение запроса набора данных TerritorySales с целью включения столбца для группы территории продаж, на основе которых были созданы допустимые значения. Затем будет изменен запрос, чтобы ограничить результирующий набор данными для значений выбранного параметра для SalesTerritoryGroup.
Привязка параметра отчета к запросу набора данных
Перейдите на вкладку Данные.
Из раскрывающегося списка Набор данных выберите TerritorySales. В области запроса появится запрос TerritorySales.
Изменить существующий запрос можно, добавив группу территории продаж аналогично запросу допустимых значений. Чтобы ограничить результаты только данными для выбранных территорий продаж, необходимо добавить ограничительное предложение
HAVING (ST.[Group] IN (@SalesTerritoryGroup))
.Замените существующий запрос следующим:
SELECT ST.[Group] AS SalesTerritory, ST.Name, SP.SalesPersonID, C.FirstName, C.LastName, SOH.SalesOrderNumber, SOH.TotalDue FROM Sales.SalesTerritory ST INNER JOIN Sales.SalesPerson SP ON ST.TerritoryID = SP.TerritoryID INNER JOIN HumanResources.Employee E ON SP.SalesPersonID = E.EmployeeID INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader SOH ON SP.SalesPersonID = SOH.SalesPersonID GROUP BY ST.[Group],ST.Name, SP.SalesPersonID, C.FirstName, C.LastName, SOH.SalesOrderNumber, SOH.TotalDue HAVING (ST.[Group] IN (@SalesTerritoryGroup)) ORDER BY ST.Name
(Не обязательно) Убедитесь, что параметр запроса привязан к параметру отчета. Нажмите кнопку Изменить выбранный набор данных и щелкните вкладку Параметры. В качестве параметра с именем @SalesTerritoryGroup должно быть установлено выражение
=Parameters!SalesTerritoryGroup.Value
.Нажмите кнопку Выполнить (!) для просмотра результирующего набора. Откроется диалоговое окно Определение параметров запроса. Введите слово Europe.
Результирующий набор будет содержать только значения для Европы.
Примечание.
Конструктор запросов не поддерживает проверку многозначных параметров.
Отчет Parameterized Territory Sales Drilldown содержит ранее созданное действие гиперссылки, определенное в текстовом поле SalesOrderNumber, которое направляет детализированный отчет в ту же самую папку отчета. Следующий раздел посвящен изменению гиперссылки с целью использования папки образца по умолчанию.
Направление детализации Sales Order Number в папку образца отчета
Перейдите на вкладку Макет.
Щелкните правой кнопкой мыши в текстовом поле SalesOrderNumber и выберите пункт Свойства. Откроется диалоговое окно Свойства текстового поля.
Перейдите на вкладку Перемещение.
В разделе Гиперссылка для параметра «Перейти к отчету» замените имя отчета следующим полным адресом отчета:
/AdventureWorks Sample Reports/Sales Order Detail
Нажмите кнопку ОК.
В меню Файл выберите команду Сохранить все.
Изменение описания отчета
В меню Отчет выберите пункт Свойства отчета. Откроется диалоговое окно Свойства отчета.
Текст в текстовом поле Описание необходимо заменить на следующий: Деление продаж Adventure Works по территории с параметром территории.
Нажмите кнопку ОК.
Примечание.
При развертывании отчета на сервере отчетов изменения описания, сделанные в конструкторе отчетов, не заменяют автоматически описание, опубликованное на сервере отчетов. Чтобы заменить опубликованное описание, необходимо удалить описание с помощью диспетчера отчетов, а затем заново развернуть отчет из конструктора отчетов. Чтобы удалить описание в диспетчере отчетов, необходимо перейти к отчету и щелкнуть вкладку Свойства. Выделите текст в поле Описание и удалите его. Нажмите кнопку Применить.
Следующие шаги
Добавление гиперссылок в текстовые поля элементов отчета успешно завершено. Следующее занятие посвящено созданию связанного отчета на основе опубликованного отчета Resellers Worldwide. Будет создан отчет, в котором заранее задаются значения параметров в соответствии с целевой аудиторией. См. раздел Занятие 8. Добавление связанного отчета с пользовательскими значениями параметров.
См. также
Другие ресурсы
Работа с параметрами в службах Reporting Services
Использование параметров для соединения с другими отчетами