將互動式排序新增至編頁報告中的資料表或矩陣 (報表產生器)

適用於:✅Microsoft 報表產生器 (SSRS) ✅ Power BI 報表產生器 ✅ SQL Server Data Tools 中的報表設計師

新增互動式排序按鈕,讓使用者變更編頁報告中資料表與矩陣的資料列與資料行排序次序。 系統僅能以支援使用者互動的轉譯格式支援此功能,例如 HTML。

當您建立互動式排序按鈕時,必須指定要排序的項目、排序的依據,以及套用排序的範圍。 例如,您可以依客戶的姓氏排序詳細資料列、依銷售額排序類別目錄群組中的子類別目錄群組值,或者依總計排序合併的類別目錄和子類別目錄群組值。

當您檢視報表時,支援互動式排序的資料行,包含可變更為指示排序次序的箭頭圖示。 第一次按下互動式排序按鈕時,項目會依遞增順序排序。 後續的點選則會在遞增和遞減的順序之間切換排序次序。

注意

您可以在 Microsoft 報表產生器、Power BI Report Builder,以及 SQL Server Data Tools 的報表設計師中,建立及修改編頁報告定義 (.rdl) 檔案。

本文內容

不使用群組排序資料表的詳細資料列

排序資料表或矩陣的最上層父資料列群組

排序群組的子群組或詳細資料列

根據複雜的群組運算式排序資料列

同步處理多個資料區的排序次序

不使用群組排序資料表的詳細資料列

將互動式排序按鈕加入到資料行標頭,讓使用者按一下資料行標頭,並依該資料行中顯示的值,排序資料表中的詳細資料列。

若要將互動式排序按鈕加入到資料行標頭以便依值排序資料表

  1. 在報表設計檢視中,在沒有群組的資料表,以滑鼠右鍵按一下資料行標題中要新增互動式排序按鈕的文字方塊,然後按一下 [文字方塊屬性]

  2. 按一下 [互動式排序]

  3. 選取 [啟用此文字方塊上的互動式排序]

  4. [選擇排序依據] 中,按一下 [詳細資料列]

  5. [排序依據] 中,指定排序運算式。 從下拉式清單中,選取對應至您要定義排序動作之資料行的欄位 (例如,資料行標題名稱若是 "Title",請選擇 [Title])。 您必須指定排序運算式。

  6. 選取 [確定]。

  7. 針對您要加入互動式排序按鈕的每個資料行重複步驟 1-6。

若要驗證排序動作,請按一下 [執行] 預覽報表,然後按一下互動式排序按鈕。

Arrow icon used with Back to Top link[回到頁首]

排序資料表或矩陣的最上層父資料列群組

將互動式排序按鈕加入到資料行標頭,讓使用者按一下資料行標頭,並依該資料行中顯示的值,排序資料表或矩陣中的父群組資料列。 子群組的順序會維持不變。

若要將互動式排序按鈕加入到資料行標頭以便排序群組

  1. 在報表設計檢視的資料表或矩陣中,以滑鼠右鍵按一下資料行標題中要新增互動式排序按鈕的群組文字方塊,然後按一下 [文字方塊屬性]

  2. 按一下 [互動式排序]

  3. 選取 [啟用此文字方塊上的互動式排序]

  4. [選擇排序依據] 中,按一下 [群組]

  5. 從下拉式清單中,選取您要排序之群組的名稱。 針對以單一群組運算式為基礎的群組, [排序依據] 值會以群組運算式擴展。

    注意

    如需複雜的群組運算式,請手動將 [排序依據] 運算式設定為群組運算式的相同值。

  6. 選取 [確定]。

若要驗證排序動作,請按一下 [執行] 預覽報表,然後按一下互動式排序按鈕。

Arrow icon used with Back to Top link[回到頁首]

排序群組的子群組或詳細資料列

將互動式排序按鈕加入到群組標題資料列,讓使用者從父群組排序子群組的值,或針對最內部的子群組排序詳細資料列。

若要將互動式排序按鈕加入到群組資料列標頭中的文字方塊以便排序子群組或詳細資料列

  1. 在報表設計檢視中,以滑鼠右鍵按一下群組標題資料列中要新增互動式排序按鈕的文字方塊,然後按一下 [文字方塊屬性]

  2. 按一下 [互動式排序]

  3. 選取 [啟用此文字方塊上的互動式排序]

  4. [選擇排序依據] 中,按一下下列其中一個選項:

    • 詳細資料 :按一下 [詳細資料] 來排序詳細資料列。 從下拉式清單中,選取排序所依據的欄位。 針對此選項,您必須指定排序所依據的值。

    • 群組 :按一下 [群組] 來排序子群組值。 針對此選項,系統會從群組運算式自動填入 [排序依據] 運算式。

  5. 選取 [確定]。

若要驗證排序動作,請按一下 [執行] 預覽報表,然後按一下互動式排序按鈕。

Arrow icon used with Back to Top link[回到頁首]

根據複雜的群組運算式排序資料列

將互動式排序按鈕加入到資料行標頭,讓使用者按一下資料行標頭,並排序合併的父群組和子群組。 為達到此效果,您必須將群組運算式變更為兩個群組的複合。 例如,假設矩陣會針對同時依色彩和大小分組的項目,顯示商店的存貨總數。 若要根據色彩和大小的組合 (而不是個別針對色彩群組和大小群組) 排序資料列,您可以根據色彩和大小的組合定義群組。 如需定義群組運算式的詳細資訊,請參閱群組運算式範例 (報表產生器和 SSRS)

在下列程序中,這些條件會指定 Tablix 資料區域。 如需詳細資訊,請參閱 Tablix 資料區的區域 (報表產生器和 SSRS)

當您根據多個群組排序資料列時,不管資料行群組為何,您通常會想要查看已排序資料列的總數。 在這個程序,不會使用任何資料行群組。 您可以加入矩陣並移除預設的資料行群組來開始。 或者,您可以加入資料表並移除詳細資料群組來開始。

若要將互動式排序按鈕加入到資料行標頭以便排序多個群組

  1. 在報表設計檢視中,加入矩陣。

  2. 將數值欄位拖曳到資料格以便將資料集連結到矩陣。

    下一步,您將利用指定多個欄位的群組運算式建立群組,並建立一個用於顯示群組值的群組標頭。

  3. 確認已在設計介面上選取矩陣。 [群組] 窗格會顯示預設的資料列和資料行群組。

  4. 在 [資料列群組] 窗格中,以滑鼠右鍵按一下預設資料列群組,然後按一下 [編輯群組]。 [群組屬性] 對話方塊隨即開啟。

  5. [名稱] 中,將預設名稱取代成指定您分組所依據之多個群組的名稱。

  6. 在 [群組運算式] 的 [群組對象] 中,按一下 [運算式]\(fx) 按鈕,開啟 [運算式] 對話方塊。

  7. 輸入指定分組依據之所有欄位的運算式。 例如,下列群組運算式結合名稱為 Color 與名稱為 Size 的欄位: =Fields!Color.Value & Fields!Size.Value

  8. 選取 [確定]。

    現在您已定義群組。 下一步,拖曳欄位以顯示矩陣的 Tablix 主體區域。 將您在步驟 7 中選擇之分組依據的欄位加入到 Tablix 主體區域中,而且每個欄位都要加入到自己的資料行中。

    針對這個狀況,不需要 Tablix 資料列群組區域中的第一個資料行。 若要刪除資料行,以滑鼠右鍵按一下資料行標題,然後按一下 [刪除資料行]。 此時會出現一個對話方塊,詢問是否要刪除相關聯的群組。 按一下 [否] 。 資料列群組區域隨即刪除,而且只會保留 Tablix 主體區域。

    下一步,您將移除預設的資料行群組。

  9. 在 [資料行群組] 窗格中,以滑鼠右鍵按一下預設資料行群組,然後按一下 [刪除群組]。 此時會出現一個對話方塊,詢問要刪除群組和相關的資料列和資料行,還是只刪除群組。 按一下 [僅刪除群組] 。 資料行群組隨即刪除,而且資料行群組區域也會刪除。 系統只會保留 Tablix 主體區域。

    下一步,您會將互動式排序按鈕加入到跨越矩陣的文字方塊。

  10. 按一下第一個資料列中的文字方塊,然後按一下 [文字方塊屬性]

  11. 按一下 [互動式排序]

  12. 選取 [啟用此文字方塊上的互動式排序]

  13. [選擇排序依據] 中,按一下 [群組]

  14. 從下拉式清單中,選取您在步驟 5 中建立之群組的名稱。 群組運算式會自動複製到 [排序依據] 文字方塊中。

  15. 選取 [確定]。

    您已經將排序按鈕加入到文字方塊中。

  16. (選擇性) 您可以在資料行中,隱藏顯示群組值的重複值。 在報表設計介面上,按一下顯示您要隱藏重複值之值的文字方塊。 在 [屬性] 窗格中,捲動至 [HideDuplicates],然後從下拉式清單中選取連結至此矩陣的資料集名稱。

若要驗證排序動作,請按一下 [執行] 預覽報表,然後按一下互動式排序按鈕。 即使每個個別值都會顯示在其自己的資料行中,矩陣還是會依群組運算式的合計值排序。

Arrow icon used with Back to Top link[回到頁首]

同步處理多個資料區的排序次序

加入互動式排序按鈕,讓使用者按一下其中一個排序按鈕,然後排序多個資料區。 當您建立互動式排序按鈕時,可以指定是否要根據相同的報表資料集,同步處理多個資料區域的排序。 例如,報表可能包含一個矩陣以及一個以圖形方式顯示資料的圖表。 當使用者在矩陣中變更資料列的排序次序時,此圖表會自動顯示相同的排序次序。

若要同步處理排序次序,您必須針對要排序的資料區域或群組使用相同的排序運算式,並將排序的範圍定義為兩個資料區域的互斥上階。 互斥上階可以是連結兩個資料區域的資料集,也可以是兩個資料區域所出現的包含資料區域。 例如,假設某個報表包含顯示相同資料集之資料,而且包含在清單中的矩陣和圖表。 若要同步處理排序動作,您必須針對矩陣中的資料行指定互動式排序,並將範圍設定為清單。 當使用者排序矩陣時,圖表也會進行排序。

若要針對矩陣資料區同步處理排序次序與互動式排序按鈕的圖表

  1. 在報表設計檢視中,將矩陣加入至報表。

  2. 將數值資料集欄位加入到矩陣資料格,例如,代表數量或銷售額的欄位。

  3. 定義資料列群組。 根據預設,群組的排序次序會設定為與群組運算式相同的運算式。

  4. 將圖表加入至報表,例如,圓形圖。

  5. 將您在步驟 2 中選擇的欄位拖曳至 [圖表資料] 窗格的 [值] 區域。

  6. 將您選擇用於分組所依據的欄位拖曳至 [類別目錄群組] 區域。

    矩陣資料列群組與圖表類別目錄群組的群組運算式必須相同。

  7. 以滑鼠右鍵按一下類別目錄群組,然後按一下 [類別目錄群組屬性]。

  8. 按一下 [排序]

  9. 按一下 [新增] 。 新的排序資料列就會加入到排序選項方格中。

  10. 在 [排序依據] 的下拉式清單中,選擇您在步驟 6 中選擇,當做分組依據的相同欄位。

  11. 選取 [確定]。

  12. 在矩陣中,以滑鼠右鍵按一下資料行標題中要新增互動式排序按鈕的文字方塊,然後按一下 [文字方塊屬性]

  13. 按一下 [互動式排序]

  14. 選取 [啟用此文字方塊上的互動式排序]

  15. [選擇排序依據] 中,按一下 [群組]

  16. 從 [群組] 底下的下拉式清單中,選取您要排序的群組名稱。 此群組的群組運算式會針對 [排序依據] 值自動設定。

  17. 選取 [同時套用此排序至下列範圍內的其他群組及資料區域] 。 在文字方塊中,輸入資料集的名稱,例如 "SalesData"。

  18. 選取 [確定]。

若要驗證排序動作,請按一下 [執行] 預覽報表,然後按一下互動式排序按鈕。 即使每個個別值都會顯示在其自己的資料行中,矩陣還是會依群組運算式的合計值排序。

Arrow icon used with Back to Top link[回到頁首]

另請參閱

篩選、分組和排序資料 (報表產生器及 SSRS)
互動式排序 (報表產生器及 SSRS)
在資料區中排序資料 (報表產生器及 SSRS)
探索 Tablix 資料區的彈性(報表產生器及 SSRS)