Занятие 3. Определение набора данных для табличного отчета (службы Reporting Services)
После определения источника данных необходимо определить набор данных. В службах Reporting Services данные, используемые в отчетах, содержатся в наборе данных. Набор данных содержит указатель на источник данных и запрос, используемый в отчете, а также вычисляемые поля и переменные.
Можно воспользоваться конструктором запросов, чтобы создать запрос в конструкторе отчетов. В этом учебнике предстоит создать запрос, получающий из базы данных AdventureWorks2008 сведения о заказах на продажу.
Определение запроса 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'
(Дополнительно) Нажмите кнопку Конструктор запросов. В текстовом конструкторе запросов будет отображен запрос. Можно переключиться к графическому конструктору запросов, нажав кнопку Редактировать как текст. Чтобы просмотреть результаты выполнения запроса, нажмите кнопку Выполнить (!) на панели инструментов конструктора запросов.
Будут показаны данные из шести полей четырех различных таблиц базы данных AdventureWorks2008. В запросе используется возможность псевдонимов языка Transact-SQL. Например, таблица SalesOrderHeader называется «soh».
Нажмите кнопку ОК для выхода из конструктора запросов.
Нажмите кнопку ОК для выхода из диалогового окна Свойства набора данных.
Поля набора данных AdventureWorksDataset появятся в области «Данные отчета».
Следующая задача
Определен запрос, получающий данные для отчета. Далее предстоит создать макет отчета. См. раздел Занятие 4. Добавление таблицы в отчет (службы Reporting Services).