群組及取消群組
資料表
的
記錄
。
Description
GroupBy
函式會傳回資料表,當中包含根據一個或多個
欄位
中的值群組在一起的記錄。 相同群組中的記錄會放入單一記錄,並新增含有其餘欄位之巢狀資料表的欄位。
Ungroup
函式會反轉
GroupBy
流程。 此函式會傳回資料表,將任何群組在一起的記錄分成個別的記錄。
您可以使用
GroupBy
來群組記錄、修改它所傳回之資料表,然後使用
Ungroup
取消群組已修改資料表中的記錄。 例如,您可以依照這種方法移除一組記錄︰
使用
GroupBy
函式。
使用
Filter
函式以移除整個記錄的群組。
使用
Ungroup
函式。
您也可以根據群組彙總結果︰
使用
GroupBy
函式。
搭配使用
AddColumns
函式與
Sum
,
Average
和其他彙總函式來新增新的欄位,也就是群組資料表的彙總。
使用
DropColumns
函式來卸除資料表群組。
Ungroup
會嘗試保留已傳送至
GroupBy
之記錄的原始順序。 並非永遠可能 (例如,如果原始資料表包含
空白
記錄)。
資料表是 Power Apps 中的值,如同字串或數字。 您可以將資料表指定為函式的引數,而函式可傳回資料表。
GroupBy
與
Ungroup
不會修改資料表,而是將資料表作為引數,並傳回不同的資料表。 請參閱
使用資料表
以取得詳細資料。
在 Power Apps 版本 3.24042 之前,欄名稱是透過使用雙引號的文字字串指定的,如果連接到資料來源,它們也需要是邏輯名稱。 例如,使用雙引號的邏輯名稱
"cr43e_name"
,而不是不含引號的顯示名稱
Name
。 對於包含帶有空格的欄名稱的 SharePoint 和 Excel 資料來源,每個空格均以
「_x0020_」
指定,例如
「欄名稱」
為
「Column_x0020_Name」
。 在此版本之後,所有應用程式都會自動更新為本文中所述的新語法。
GroupBy
(
Table
,
ColumnName1
[,
ColumnName2
, ... ],
GroupColumnName
)
Table
– 必要。 要群組的資料表。
ColumnName(s)
- 必要項目。 用來群組記錄之
資料表
中的欄位名稱。 這些欄位在結果資料表中會成為欄位。
GroupColumnName
- 必要項目。 不在
ColumnName(s)
的記錄資料儲存體的欄位名稱。
Ungroup
(
Table
,
GroupColumnName
)
Table
– 必要。 要取消群組的資料表。
GroupColumnName
- 必要項目。 包含使用
GroupBy
函式設定的記錄資料之欄位。
新增按鈕,並設定其
Text
屬性,讓按鈕顯示
Original
。
將
Original
按鈕的
OnSelect
屬性設為以下公式:
ClearCollect( CityPopulations,
{ City: "London", Country: "United Kingdom", Population: 8615000},
{ City: "Berlin", Country: "Germany", Population: 3562000},
{ City: "Madrid", Country: "Spain", Population: 3165000},
{ City: "Rome", Country: "Italy", Population: 2874000},
{ City: "Paris", Country: "France", Population: 2273000},
{ City: "Hamburg", Country: "Germany", Population: 1760000},
{ City: "Barcelona", Country: "Spain", Population: 1602000},
{ City: "Munich", Country: "Germany", Population: 1494000},
{ City: "Milan", Country: "Italy", Population: 1344000}
按住 Alt 鍵並選取 Original 按鈕。
您剛剛建立 集合物件,命名為 CityPopulations,其中包含此資料︰
將此按鈕的 OnSelect 屬性設為下列公式:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities ) )
按住 Alt 鍵並選取 Group 按鈕。
您剛剛建立了集合,命名為 CitiesByCountry,其中前一個集合的記錄會由 Country 欄位群組。
將此按鈕的 OnSelect 屬性設為下列公式:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" in Country ) )
按住 Alt 鍵時,選取您新增的按鈕。
您剛剛建立了第三個集合,命名為 CitiesByCountryFiltered,只包含名稱中具有 "e" 的國家/地區 (也就不是西班牙或義大利)。
將此按鈕的 OnSelect 屬性設為下列公式:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
這可能會導致︰
將 "Sum" 按鈕的 OnSelect 屬性設為下列公式:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Sum of City Populations', Sum( Cities, Population ) ) )
這可能會導致︰
AddColumns 會以基礎 CitiesByCountry 集合物件開始,並新增新欄位 Sum of City Populations。 此欄位的值是根據公式 Sum( Cities, Population ) 逐列計算。
AddColumns 會提供每一列 Cities 欄位 (資料表) 的值,而 Sum 會合計這個子資料表每一個資料列的 Population。
既然我們擁有我們想要的總和,我們可以使用 DropColumns 來移除子資料表。
新增另一個按鈕,並設定其 Text 屬性,讓按鈕顯示 SumOnly。
將 "SumOnly" 按鈕的 OnSelect 屬性設定為下列公式:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )
這可能會導致︰
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:https://aka.ms/ContentUserFeedback。
提交並檢視相關的意見反應