在今天的文章里,我們探討如何在Power Query中調(diào)整一個表的列順序,使其與另一個參照表的列順序匹配。如下圖所示:
功能介紹在Power Query中,我們可以通過Table.ReorderColumns函數(shù)來調(diào)整表格的列順序。這個函數(shù)需要兩個參數(shù):第一個是要調(diào)整的表格,第二個是一個列名的列表,這個列表指定了新的列順序。實現(xiàn)步驟為了使用Table.ReorderColumns函數(shù),我們需要先獲取參照表的列順序列表。以下是整個過程的代碼和對應(yīng)的思路說明:let // 獲取參照表的列名列表 表格1 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 表格1列名 = Table.ColumnNames(表格1),
// 獲取需要調(diào)整列順序的表格 表格2 = Excel.CurrentWorkbook(){[Name="表2"]}[Content],
// 轉(zhuǎn)置表格2并提升標(biāo)題,方便后續(xù)操作 轉(zhuǎn)置表 = Table.Transpose(表格2), 提升的標(biāo)題 = Table.PromoteHeaders(轉(zhuǎn)置表, [PromoteAllScalars=true]),
// 篩選出存在于表格2中的表格1列名 表格2列名 = Table.ColumnNames(提升的標(biāo)題), 篩選后的列名 = List.Select(表格1列名, each List.Contains(表格2列名, _)),
// 使用篩選后的列名列表調(diào)整表格2的列順序 重排后的表格2 = Table.ReorderColumns(提升的標(biāo)題, 篩選后的列名),
// 可選步驟:根據(jù)需要更改列的數(shù)據(jù)類型 更改的類型 = Table.TransformColumnTypes(重排后的表格2,{{"A", Percentage.Type}, {"B", Percentage.Type}, {"C", Percentage.Type}, {"D", Percentage.Type}, {"E", Percentage.Type}})in 更改的類型在這段代碼中,我們首先從Excel中提取了參照表“表1”和需要調(diào)整的表“表2”。我們使用Table.ColumnNames獲取了參照表的列名列表,這將作為我們重排列順序的依據(jù)。接著,我們對表格2進(jìn)行了轉(zhuǎn)置并提升了標(biāo)題,這是為了將表格2的列名與參照表的列名進(jìn)行匹配。我們通過List.Select函數(shù)篩選出那些存在于表格2中的列名,確保了我們只重排那些在兩個表中都存在的列。