排序報表中的資料 (報表產生器 2.0)
若要控制報表中資料的排序次序,您可以在資料集查詢中排序資料,或針對資料區域或群組定義排序運算式。您也可以將互動式排序按鈕加入到資料表和矩陣,讓使用者變更報表資料的排序次序。
三種類型的排序全部都能在相同的報表中結合。使用者起始的互動式排序會在排序運算式之後套用,而排序運算式則會在查詢排序之後套用。
報表項目的大部分彙總計算都與資料的排序次序無關,但是下列運算式除外:First、Last 和 Previous。如需詳細資訊,請參閱<在運算式中使用內建報表和彙總函數 (報表產生器 2.0)>。
排序資料集查詢中的資料
將資料集查詢中的排序次序加入到預先排序資料,然後再針對報表進行擷取。透過排序查詢中的資料,排序工作將由資料來源而非報表處理器完成。
若是 MicrosoftSQL Server 資料來源類型,您可以將 ORDER BY 子句加入到資料集查詢。例如,下列 Transact-SQL 查詢會根據 SalesOrders 資料表,以遞減的順序排序 Sales 和 Region by Sales 資料行:SELECT Sales, Region FROM SalesOrders ORDER BY Sales DESC。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<使用 ORDER BY 排序資料列>。
[!附註]
並非所有資料來源都支援在查詢中指定排序次序的能力。
利用排序運算式排序資料
若要在資料從資料來源擷取後排序報表中的資料,您可以針對 Tablix 資料區域或群組 (包括詳細資料群組) 設定排序運算式。下列清單描述針對不同項目設定排序運算式的效果:
**Tablix 資料區域:**在執行階段套用資料集篩選和資料區域篩選之後,針對資料表、矩陣或清單資料區域設定排序運算式來控制資料在資料區域中的排序次序。
**Tablix 資料區域群組:**設定每個群組 (包括詳細資料群組) 的排序運算式來控制群組執行個體的排序次序。例如,您可以針對詳細資料群組,控制詳細資料列的次序。若是子群組,您可以針對父群組中的子群組,控制群組執行個體的次序。根據預設,當您建立群組時,排序運算式會設定為群組運算式以及遞增順序。
如果您只有一個詳細資料群組,您可以在查詢中、資料區域上,或詳細資料群組上,將排序運算式定義為相同的效果。
**圖表資料區域:**設定類別目錄和數列群組的排序運算式來控制資料點的排序次序。根據預設,資料點的次序也是色彩在圖表圖例中的次序。如需詳細資訊,請參閱<格式化圖表上的數列色彩 (報表產生器 2.0)>。
**量測計資料區域:**您通常不需要排序量測計資料區域的資料,因為量測計會顯示一個相對於範圍的單一值。如果您需要排序量測計中的資料,則必須先定義一個群組,然後設定該群組的排序運算式。
互動式排序
若要讓使用者變更報表資料的排序次序,將互動式排序按鈕加入到資料行中。使用者可以切換資料表,以便根據資料行值在遞增和遞減之間排序。系統以可讓使用者互動的轉譯格式支援互動式排序,例如 HTML。
您可以將互動式排序按鈕加入到文字方塊中。根據預設,每個 Tablix 資料區域資料格都包含一個文字方塊。在文字方塊屬性中,您可以指定要排序資料表或矩陣資料區域的部分 (父群組值、子群組值或詳細資料列)、排序的依據,以及是否要將排序運算式套用到具有對等關聯性的其他報表項目。例如,如果在相同資料集中提供檢視的資料表和圖表都包含在矩形中,它們就是對等資料區域。當使用者在資料表中切換排序次序時,圖表的排序次序也會切換。如需詳細資訊,請參閱<將互動式排序加入至資料區域 (報表產生器 2.0)>。
如需逐步指示,請參閱<如何:將互動式排序加入至資料表或矩陣 (報表產生器 2.0)>。