Поделиться через


Руководство. Определение набора данных для табличного отчета (службы Reporting Services)

После определения источника данных для отчета с разбивкой на страницы необходимо определить набор данных для источника данных. В службах Reporting Services набор данных содержит данные, используемые в отчетах. Набор данных включает указатель на источник данных и запрос для использования отчетом, вычисляемыми полями и переменными.

Изучив это руководство, вы:

  • Определите набор данных для отчета таблицы.
  • Создайте запрос Transact-SQL для получения сведений о заказах на продажу.

Необходимые компоненты

Определение запроса Transact-SQL для данных отчета

Создайте запрос Transact-SQL, который извлекает сведения о заказе на продажу AdventureWorks2022 из базы данных.

  1. Откройте файл определения отчета заказа на продажу (RDL) в Visual Studio.

  2. В области данных отчета выберите новый>набор данных.... Откроется диалоговое окно "Свойства набора данных" с выделенным разделом "Запрос".

    Снимок экрана: диалоговое окно

  3. В поле "Имя" введите AdventureWorksDataset.

  4. Выберите параметр Использовать набор данных, внедренный в отчет .

  5. В списке источников данных выберите AdventureWorks2022.

  6. В поле "Тип запроса" выберите параметр "Текст ".

  7. Введите или скопируйте и вставьте следующий запрос 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'
    
  8. (Необязательно) Выберите конструктор запросов. Запрос отображается в текстовом конструкторе запросов. Выберите команду run , чтобы просмотреть результаты запроса ( ) на панели инструментов конструктора запросов. Отображаемый набор данных содержит шесть полей из четырех таблиц в AdventureWorks2022 базе данных. В запросе используется возможность псевдонимов языка Transact-SQL. Например, называется sohтаблица SalesOrderHeader.

  9. Нажмите кнопку "ОК ", чтобы выйти из конструктора запросов.

  10. Нажмите кнопку "ОК ", чтобы выйти из диалогового окна "Свойства набора данных". Панель Данные отчета теперь отображает набор данных AdventureWorksDataset и его поля.

    Снимок экрана: папка наборов данных, в которой показаны AdventureWorksDataset и его поля.

Следующий шаг