資料源:
“姓名”“基數”“個人比例”“個人繳納”“公司比例”“公司繳納”“總計”,共7列7行資料,其中姓名列第1、2行與第6、7行内容重複
目标:
删除姓名列中内容重複的行
操作過程:
選取指定列》【首頁】》【删除行】》【删除重複項】
M公式:
= Table.Distinct( 表, {{ "列名1", 區分大小寫},...,{ "列名n", 區分大小寫}})
說明:
删除重複項的規則是保留第一次出現的。
對整表所有列删除重複項:=Table.Distinct( 表)
對指定列删除重複項:=Table.Distinct( 表,{ "列名1",...,"列名n"})
對列中字母大小寫進行區分:=Table.Distinct( 表,{ "列名", Comparer.OrdinalIgnoreCase})
隻傳回第一行資料:=Table.Distinct( 表, {})
最終效果:
姓名列中的重複項被删除,隻保留1-5行
擴充:
清單删除重複項:=List.Distinct( 清單, 條件)
示例1:=List.Distinct({1,2,2,3,3,4})
結果:{1,2,3,4}
示例2:=List.Distinct({5,6,4,4,5,5}, each _ >4)
結果:{5,4}
說明:清單中大于4的結果為{true,true,false,false,true,true},去除重複項後剩下{true,false},結果對應的位置就是{5,4}
判斷表或表中指定列中是否是唯一值:= Tabel.IsDistinct( 表, { "列1", "列2",…, "列n"})
結果為邏輯值,其中一列裡是唯一值的結果為True,否則為False。
判斷清單中是否是唯一值:= List.IsDistinct( 清單, 條件)
示例1:= List.IsDistinct({1..9}, each _>2)
1-9的9個數中,判斷是否大于2,結果為多個False和多個True,再判斷其是否有重複,最終結果為False
示例2:= List.IsDistinct({2,3}, each _>2)
2和3判斷是否大于2,結果為一個True和一個False,再判斷其是否有重複,最終結果為True
傳回一列中的衆數值:= List.Mode( 清單, 條件)
有多個衆數時,各衆數中最後一個
{1,1,2,2,4,3,3,4}中分别有四個衆數,1、2、4、3,最後一個衆數是3,List.Mode的結果就是3
傳回一列中的所有衆數的清單:= List.Modes( 清單, 條件)
示例1:=List.Modes({1,1,2,2,4,3,4,3})
結果:{1,2,4,3}
示例2:=List.Modes({1,1,2,2,4,3,4,3}, each _ >2)
結果:{1,4}
說明:清單中大于2的結果為{false,fasle,false,false,true,true,true,true},衆數結果為{false,true},結果對應的位置就是{1,4}