第 7 課:建立鑽研報表

新增: 2006 年 7 月 17 日

使用參數的其中一個方式是,鑽研至其他報表。在這一課,您將在 AdventureWorks 範例報表 "Territory Sales Drilldown" 中加入參數,以依照銷售領域群組篩選報表資料。若要為參數提供可用的值,您要建立 TerritoryGroup 資料集,從 AdventureWorks 資料庫擷取銷售領域群組的可用相異值。

在下一課,您將使用此報表作為數種導覽動作的目標。

開啟 Advanced Parameters Tutorial 報表伺服器專案

  1. SQL Server Business Intelligence Development Studio 中,開啟上一課中建立的 Advanced Parameters Tutorial 報表伺服器專案。

  2. 在 [方案總管] 中,按兩下 [Resellers Worldwide] 報表。報表隨即在 [配置] 檢視中開啟。

  3. 按一下 [資料] 索引標籤。

匯入 AdventureWorks 範例報表 Territory Sales Drilldown

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [報表] 資料夾,然後選擇 [加入],再選擇 [現有項目][加入現有項目] 對話方塊隨即開啟。

    Aa337439.note(zh-tw,SQL.90).gif附註:
    [匯入報表] 命令會匯入現有的 Microsoft Access 報表,而非現有的 Reporting Services 報表。
  2. 瀏覽到 AdventureWorks 範例報表資料夾。預設位置是 *<drive>:\*Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Report Samples\AdventureWorks Sample Reports。按兩下 Territory Sales Drilldown.rdl 報表,將它加入 Advanced Parameter Tutorial 專案中。

  3. 在 [方案總管] 中,以滑鼠右鍵按一下 Territory Sales Drilldown.rdl 並選擇 [重新命名]。輸入 Parameterized Territory Sales Drilldown.rdl。按 ENTER 鍵。

  4. 按兩下 Parameterized Territory Sales Drilldown 報表。報表隨即在 [配置] 檢視中開啟。

下一步,您必須變更此報表的資料來源,才能使用在第 1 課建立的共用資料來源。

將資料集繫結至不同的資料來源

  1. 按一下 [資料] 索引標籤,以切換到 [資料] 檢視。您將收到下列錯誤:「無法連接資料庫。請設定和檢查連接字串。」

    Parameterized Territory Sales Drilldown 報表使用稱為 "AdventureWorks" 的資料來源。您必須將此來源變更為共用資料來源「轉售商」。

  2. [資料集] 下拉式清單中,選取 TerritorySales 資料集,然後按一下 [編輯選取的資料集] 按鈕。

  3. [查詢] 索引標籤上,從 [資料來源] 下拉式清單中選取 [轉售商]

  4. 按一下 [確定]

  5. 按一下 [執行](!),以檢視結果集。

    您應該會看到六個資料行,其具有數千個含有值的資料列:Name、SalesPersonID、FirstName、LastName、SalesOrderNumber、TotalDue。

若要參數化此報表,您將建立有效值的新資料集。接著,您將會建立新的報表參數 SalesTerritoryGroup,並將其有效值設定成從這個資料集擷取。

為可用的值建立資料集

  1. [資料集] 下拉式清單中,按一下 [<新增資料集>][資料集] 對話方塊隨即開啟。

  2. [查詢] 索引標籤的 [名稱] 文字方塊中,輸入 ValidValuesforTerritoryGroup

  3. 確認 [資料來源][轉售商]

  4. 確認 [命令類型][文字]

  5. 將下列查詢貼入查詢窗格中。

    SELECT DISTINCT [Group] AS SalesTerritoryList
       FROM [AdventureWorks].[Sales].[SalesTerritory]
    

    AdventureWorks 資料庫中資料表 Sales.SalesTerritory 的資料行 Group 包含領域的值。

  6. 按一下 [執行](!),以檢視結果集。

    資料行 SalesTerritoryList 隨即與三個資料列一起出現:歐洲、北美洲和太平洋。這些將成為您要在下一個程序中建立之多重值參數 SalesTerritoryGroup 的三個可用值。**

加入新的多重值報表參數

  1. 按一下 [配置] 索引標籤。

  2. [報表] 功能表中,選擇 [報表參數][報表參數] 對話方塊隨即開啟。

  3. 按一下 [加入]。隨即建立含有預設值的新報表參數。

  4. 在 [屬性] 區段的 [名稱] 文字方塊中,輸入 SalesTerritoryGroup。確認資料類型是 String

  5. 選取 [多重值] 選項。

  6. [提示] 中,輸入**「銷售領域群組:」**。

  7. 清除 [允許空白] 選項。

  8. [可用的值] 區段中,按一下 [從查詢]

  9. [資料集] 下拉式清單中,選取 [TerritoryGroup]。

  10. [值欄位] 下拉式清單中,選取 [SalesTerritory]。

  11. [標籤欄位] 下拉式清單中,選取 [SalesTerritory]。

  12. [預設值] 區段中,按一下 [從查詢]

  13. [資料集] 下拉式清單中,選取 [TerritoryGroup]。

  14. [值欄位] 下拉式清單中,選取 [SalesTerritory]。

    如此,即可將 SalesTerritoryGroup 的預設值設定為資料集 ValidValuesforTerritoryGroup 的所有擷取值。

  15. 按一下 [確定]

您已定義報表參數及其可用值組。在下一個程序中,您將修改 TerritorySales 資料集查詢,為剛才在其中建立一組有效值的銷售領域群組加入資料行。接著,您將修改查詢,以便將結果集限制於為 SalesTerritoryGroup 選取之參數值的資料。

將報表參數繋結至資料集查詢

  1. 按一下 [資料] 索引標籤。

  2. [資料集] 下拉式清單中,選取 [TerritorySales]。TerritorySales 查詢隨即出現在查詢窗格中。

  3. 透過加入銷售領域群組來修改現有查詢,這與在有效值查詢中相同。加入限制子句 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
    
  4. (選擇性) 確認查詢參數繫結至報表參數。按一下 [編輯選取的資料集] 按鈕,然後按一下 [參數] 索引標籤。參數 @SalesTerritoryGroup 應該設為運算式 =Parameters!SalesTerritoryGroup.Value

  5. 按一下 [執行](!),以檢視結果集。[定義查詢參數] 對話方塊隨即出現。輸入 Europe

  6. 結果集會顯示只包含 Europe 的值。

    Aa337439.note(zh-tw,SQL.90).gif附註:
    查詢設計師不支援測試多重值參數。

Parameterized Territory Sales Drilldown 報表已經在 SalesOrderNumber 文字方塊 (位於相同報表資料夾中的鑽研報表) 上定義了預先存在的超連結動作。在下一個程序中,您將變更超連結,以使用預設範例資料夾。

將銷售訂單號碼鑽研指向範例報表資料夾

  1. 按一下 [配置] 索引標籤。

  2. 以滑鼠右鍵按一下 [SalesOrderNumber] 文字方塊,然後選取 [屬性][文字方塊屬性] 對話方塊隨即開啟。

  3. 按一下 [導覽] 索引標籤。

  4. [超連結動作] 區段中的 [跳至報表] 選項中,以下列完整的報表位址取代報表名稱:

    /AdventureWorks Sample Reports/Sales Order Detail
    
  5. 按一下 [確定]

  6. [檔案] 功能表上按一下 [全部儲存]

修改報表描述

  1. [報表] 功能表中,選取 [報表屬性][報表屬性] 對話方塊隨即開啟。

  2. 以下列文字取代文字 [描述] 文字方塊中的文字:使用領域參數的領域的 Adventure Works 銷售量

  3. 按一下 [確定]

    Aa337439.note(zh-tw,SQL.90).gif附註:
    將報表部署至報表伺服器時,您在報表設計師中對描述所作的變更將不會覆寫報表伺服器上發行的描述。若要取代已發行的描述,請使用報表管理員刪除描述,然後從報表設計師重新部署報表。若要刪除報表管理員中的描述,請瀏覽到報表,然後按一下 [屬性] 索引標籤。反白顯示 [描述] 文字,然後加以刪除。按一下 [套用]

後續的步驟

您已順利報表項目文字方塊中加入超連結。在下一課,您將根據已發行的 Resellers Worldwide 建立連結的報表,為目標使用者提供可預先設定報表參數值的報表。請參閱<第 8 課:以自訂參數值加入連結報表>。

請參閱

其他資源

在 Reporting Services 中使用參數
使用參數連接到其他報表

說明及資訊

取得 SQL Server 2005 協助