共用方式為


第 2 課:修改報表資料來源屬性

在此 Reporting Services 教學課程中,您會使用入口網站來選取傳遞給收件者的報表。 您要定義的資料驅動訂閱會散發建立基本資料表報表 (SSRS 教學課程) 教學課程中建立的銷售訂單報表。 在下面的步驟中,您會修改報表用來取得資料的資料來源連接資訊。 只有使用 預存認證 來存取報表資料來源的報表可以透過資料驅動訂閱散發。 自動報表處理需要預存認證。

您也會將資料集和報表修改成使用參數來依據 [Order] 篩選報表,讓訂閱能夠針對特定訂單和轉譯格式輸出不同的報表執行個體。

修改資料來源以使用預存認證

  1. 以系統管理員權限瀏覽至 Reporting Services 入口網站,例如以滑鼠右鍵按一下 Internet Explorer 的圖示,然後選取 [以系統管理員​​身分執行​​]。

  2. 瀏覽至入口網站 URL。 例如:
    https://<server name>/reports.
    https://localhost/reports注意︰「入口網站」URL 是 "Reports",而非 "Reportserver" 的報表「伺服器」URL。

  3. 瀏覽到包含 Sales Orders 報表的資料夾,然後在報表的內容功能表中,選取 [管理]

    銷售訂單特色選單的螢幕擷取畫面。

  4. 從左窗格中選取資料來源

  5. 確認 [連線類型] 是 Microsoft SQL Server

  6. 確認連接字串如下所示,並假設範例資料庫位於本機資料庫伺服器上:

    Data source=localhost; initial catalog=AdventureWorks2022  
    
  7. 選取 [使用下列認證]。

  8. 在 [認證類型] 中,選取 [Windows 使用者名稱與密碼]

  9. 輸入您的使用者名稱 (使用 domain\user格式) 和密碼。 如果您沒有存取 AdventureWorks2022 資料庫的權限,請指定有這項權限的登入。

  10. 選取 [測試連接],確認您能夠連線到資料來源。

  11. 選取儲存

  12. 選取 [取消]

  13. 檢視報表以確認報表是以您指定的認證來執行。

修改 AdventureWorksDataset

在下列步驟中,您會修改資料集,以使用參數來根據訂單號碼篩選資料集。

  1. 在 SQL Server Data Tools 中開啟銷售訂單報表。

  2. 以滑鼠右鍵按一下 AdventureWorksDataset 資料集,然後選取 [資料集屬性]。

    AdventureWorksDataset 特色選單的螢幕擷取畫面,其中醒目提示 [資料集屬性] 選項。

  3. WHERE (UPPER(SalesOrderNumber) =UPPER(@OrderNumber) or @OrderNumber IS NULL) 陳述式前面加入 Group By 陳述式。 如下範例為完整的查詢語法:

    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 AS 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  
    
    WHERE (UPPER(SalesOrderNumber) =UPPER(@OrderNumber) or  @OrderNumber IS NULL)  
    
    GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, pps.Name, pp.Name, soh.SalesPersonID  
    HAVING (ppc.Name = 'Clothing')  
    
  4. 選取 [確定]
    在下列步驟中,您會將參數加入報表。 此報表參數會提供資料集參數。

加入報表參數並重新發行報表

  1. 在 [報表資料] 窗格中,展開 [參數] 資料夾,然後按兩下 Ordernumber 參數。 在上一個步驟中,當您將參數加入資料集時,系統會自動建立此參數。 選取 [新增],然後選擇 [參數...]

    [報表資料] 窗格的螢幕擷取畫面,其中醒目提示 Ordernumber 參數。

  2. 確認 [名稱] 是 OrderNumber

  3. 確認 [提示] 是 OrderNumber

  4. 選取 [允許空白值 ("")]。

  5. 選取 [允許 Null 值]。

  6. 選取 [確定]。

  7. 選取 [預覽] 索引標籤來執行報表。 請注意,參數輸入方塊會出現在報表頂端。 您可以:

    • 選取 [檢視報表] 查看完整報表,而不使用參數。

    • 取消選取 [Null] 選項並輸入訂單號碼 (例如 so71949),然後選取 [檢視報表],即可單獨檢視報表中的單一訂單。

    預覽索引標籤和醒目提示 [檢視報表] 按鈕的螢幕擷取畫面。

重新部署報表

  1. 請重新部署報表,讓下一課的訂閱組態能夠運用您在這一課所做的變更。 如需用於資料表教學課程的專案屬性詳細資訊,請參閱第 6 課:新增群組和總計 (Reporting Services) 的<將報表發佈至報表伺服器 (選擇性)>一節。

  2. 在工具列上,選取 [建置],然後選擇 [部署教學課程]

後續步驟