共用方式為


在報表中排序資料

更新: 2006 年 4 月 14 日

在每一個資料區域 (資料表、矩陣和清單) 中的資料可以使用欄位和運算式來排序。發行報表之前,會在報表中加入排序功能。您可以設定報表來支援一般使用者排序,讓使用者在檢視報表時,能夠互動地變更排序順序。或者,可以使用參數來排序資料,或在查詢中指定 ORDER BY 子句,於資料處理過程中排序資料。

互動式排序

您可以設定資料行標題的屬性,在已發行報表中提供互動式排序。排序是透過文字方塊屬性指定。您可以指定同一個資料表、清單或矩陣中之多個資料行的排序;以及巢狀或群組資料的排序。

指定互動式排序

  1. 以滑鼠右鍵按一下資料行標題 (例如,資料表頁首中的資料行),然後選取 [屬性] 以開啟 [文字方塊屬性] 對話方塊。
  2. 按一下 [互動式排序] 索引標籤。
  3. 選取 [將互動式排序動作加入此文字方塊]
  4. 若要指定排序運算式,請選取對應至您要定義排序動作之資料行的欄位 (例如,資料行標題名稱若是 "Title",請選擇 =Fields!Title.Value)。必須指定排序運算式。
  5. 選取排序的資料區域與範圍。此步驟會決定排序動作是否套用至報表中的所有資料區域、僅限於包含文字方塊的資料區域,或者僅限於您選擇的其他資料區域集合。
  6. 按一下 [確定]

若要驗證排序動作,您可以預覽報表。支援互動式排序的資料行有一個箭頭圖示,以指出排序順序。若要切換遞增與遞減順序之間的排序順序,請按一下資料行標題。

參數化排序

您可以使用報表參數來根據使用者輸入排序報表中的資料,其方式是使用參數來變更資料區域的排序屬性;您也可以使用不同的方法來提供報表的參數。

資料區域、資料集和群組中的排序

您可以提供參數值來排序資料區域、資料集或群組中的運算式。例如,您可以變更報表中之 Product 資料表的排序運算式,如此才能依產品名稱或價格排序它。

此範例中的參數名為 SortOrder,其中包含可用值的清單:Name 和 ListPrice。這些值會對應至欄位清單中的欄位。參數也包括 Name 的預設值,如此報表才能在執行時預設依名稱排序產品。如需有關報表參數的資訊,請參閱<在 Reporting Services 中使用參數>。

ms157313.note(zh-tw,SQL.90).gif附註:
可用之值清單中的值必須是欄位清單中的欄位名稱,而非資料庫中的資料行。在許多情況下,這些名稱非常相似,不過也有可能不相同。如果您排序的是群組,就可以指定彙總值的排序順序。並不支援資料集或資料區域的彙總值排序。

報表中之 Product 資料表的排序運算式包括 SortOrder 參數。在排序運算式中使用下列運算式時,會依 SortOrder 報表參數中的值排序資料表中的資料。

=Fields(Parameters!SortOrder.Value).Value

使用 URL 動作來排序報表資料行

如果您建立一個參數並使用與前面範例類似的方式,使用者將會看到可以選擇參數值的清單方塊。當使用者執行報表時,會依選擇的值排序資料。然而,如果不提供清單方塊,您可能會想要提供向上或向下箭頭,讓使用者按一下即可排序資料。若要這麼做,請在含有要讓使用者按一下的文字之文字方塊中加入 URL 動作 (例如,在資料行標頭的文字方塊中)。

在 URL 動作中使用下列運算式時,提供依標價排序資料表中之資料的連結。全域屬性是根據執行報表時,在報表伺服器上的位置來建構 URL。如果您不知道報表會在伺服器的哪個位置,這很有用。也包括關閉工具列的參數。這會隱藏參數清單,但它也會隱藏頁面控制項。

= Globals!ReportServerUrl & "?" & Globals!ReportFolder & "/" & Globals!ReportName & "&SortOrder=ListPrice&rc:Toolbar=false"
ms157313.note(zh-tw,SQL.90).gif附註:
唯有發行報表至報表伺服器後,此連結才有作用。在報表設計師預覽中使用連結時,可能會遇到非預期的結果。

如需有關使用 URL 動作的資訊,請參閱<將連結加入至報表>。如需有關建構執行報表之 URL 的資訊,請參閱<URL Access>。

請參閱

工作

如何:排序資料表中的資料 (報表設計師)
如何:排序矩陣中的資料 (報表設計師)
如何:排序清單中的資料 (報表設計師)

概念

使用資料區域

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 4 月 14 日

變更的內容:
  • 已更新查詢來搭配 AdventureWorks (而非 AdventureWorks2000) 使用。