Занятие 3. Определение набора данных для табличного отчета (службы Reporting Services)
После определения источника данных необходимо определить набор данных. В службах Службы Reporting Services данные, используемые в отчетах, содержатся в наборе данных. Набор данных содержит указатель на источник данных и запрос, используемый в отчете, а также вычисляемые поля и переменные.
Чтобы создать отчет, можно использовать «Конструктор отчетов». В этом учебнике будет создан запрос, получающий из базы данных База данных AdventureWorks2008R2 сведения о заказах на продажу.
Определение запроса Transact-SQL для данных отчета
В области Данные отчета нажмите кнопку Создать и выберите Набор данных. Откроется диалоговое окно Свойства набора данных.
В поле Имя введите AdventureWorksDataset.
Выберите переключатель Использовать набор данных, внедренный в отчет. Убедитесь, что в текстовом поле Источник данных введено имя AdventureWorks и что в списке Тип запроса выбрано значение Текст.
Введите или скопируйте и вставьте следующий запрос Transact-SQL в поле Запрос.
SELECT soh.OrderDate AS [Date], soh.SalesOrderNumber AS [Order], pps.Name AS Subcat, pp.Name as Product, SUM(sd.OrderQty) AS Qty, SUM(sd.LineTotal) AS LineTotal FROM Sales.SalesPerson sp INNER JOIN Sales.SalesOrderHeader AS soh ON sp.BusinessEntityID = soh.SalesPersonID INNER JOIN Sales.SalesOrderDetail AS sd ON sd.SalesOrderID = soh.SalesOrderID INNER JOIN Production.Product AS pp ON sd.ProductID = pp.ProductID INNER JOIN Production.ProductSubcategory AS pps ON pp.ProductSubcategoryID = pps.ProductSubcategoryID INNER JOIN Production.ProductCategory AS ppc ON ppc.ProductCategoryID = pps.ProductCategoryID GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, pps.Name, pp.Name, soh.SalesPersonID HAVING ppc.Name = 'Clothing'
(Дополнительно) Нажмите кнопку Конструктор запросов. В текстовом конструкторе запросов будет отображен запрос. Можно переключиться к графическому конструктору запросов, нажав кнопку Редактировать как текст. Чтобы просмотреть результаты выполнения запроса, нажмите кнопку Выполнить (!) на панели инструментов конструктора запросов.
Будут показаны данные из шести полей четырех различных таблиц из базы данных База данных AdventureWorks2008R2. В запросе используется возможность псевдонимов языка Transact-SQL. Например, таблица SalesOrderHeader называется soh.
Нажмите кнопку ОК для выхода из конструктора запросов.
Нажмите кнопку ОК для выхода из диалогового окна Свойства набора данных.
Поля набора данных AdventureWorksDataset появятся в области «Данные отчета».
Следующая задача
Определен запрос, получающий данные для отчета. Далее предстоит создать формат отчета. См. раздел Занятие 4. Добавление таблицы в отчет (службы Reporting Services).