語法
List.Distinct(list as list, optional equationCriteria as any) as list
關於
傳回清單,其中包含指定清單中已移除重複專案的所有值。 如果指定的清單是空的,則結果會是空的清單。
-
list:從中擷取相異值的清單。 -
equationCriteria:(選擇性) 指定比較值時如何判斷相等。 此參數可以是索引鍵選取器函式、比較子函式,或包含索引鍵選取器和比較子的清單。
範例 1
移除清單 {1, 1, 2, 3, 3, 3} 中的重複項。
使用方式
List.Distinct({1, 1, 2, 3, 3, 3})
輸出
{1, 2, 3}
範例 2
從清單結尾開始,選取具有唯一文字長度的水果。
使用方式
let
Source = {"Apple", "Banana", "Cherry", "Date", "Fig"},
Result = List.Distinct(List.Reverse(Source), each Text.Length(_))
in
Result
輸出
{"Fig", "Date", "Cherry", "Apple"}
範例 3
從清單開頭開始,選取唯一的水果,同時忽略大小寫。
使用方式
let
Source = {"apple", "Pear", "aPPle", "banana", "ORANGE", "pear", "Banana", "Cherry"},
Result = List.Distinct(Source, Comparer.OrdinalIgnoreCase)
in
Result
輸出
{"apple", "Pear", "banana", "ORANGE", "Cherry"}
範例 4
從清單清單中擷取第一個清單,其中含有唯一的國家/地區名稱,同時忽略大小寫。 將擷取的清單放在新數據表的數據列中。
使用方式
let
Source = {
{"USA", #date(2023, 8, 1), 567},
{"canada", #date(2023, 8, 1), 254},
{"Usa", #date(2023, 7, 1), 450},
{"CANADA", #date(2023, 6, 1), 357},
{"Panama", #date(2023, 6, 2), 20},
{"panama", #date(2023, 7, 1), 40}
},
DistinctByCountry = List.Distinct(
Source,
{each _{0}, Comparer.OrdinalIgnoreCase}
),
ToTable = Table.FromRows(DistinctByCountry, {"Country", "Date", "Value"}),
ChangeTypes = Table.TransformColumnTypes(
ToTable, {{"Country", type text}, {"Date", type date}, {"Value", Int64.Type}}
)
in
ChangeTypes
輸出
#table(type table[Country = text, Date = date, Value = Int64.Type],
{
{"USA", #date(2023, 8, 1), 567},
{"canada", #date(2023, 8, 1), 254},
{"Panama", #date(2023, 6, 2), 20}
}
)