List.Distinct
Возвращает список значений с удаленными повторениями.
Syntax
List.Distinct(
list as list,
optional equationCriteria as any
) as list
Remarks
Возвращает список, содержащий все значения из указанного списка с удаленными дубликатами. Если указанный список пуст, результат будет пустым списком.
list: список, из которого извлекаются уникальные значения.equationCriteria: (необязательно) указывает, как определяется равенство при сравнении значений. Этот параметр может быть функцией селектора ключа, функцией сравнения или списком, содержащим как функцию селектора ключа, так и функцию сравнения.
Examples
Example #1
Удалить повторяющиеся элементы из списка {1, 1, 2, 3, 3, 3}.
List.Distinct({1, 1, 2, 3, 3, 3})
Result:
{1, 2, 3}
Example #2
Начиная с конца списка, выбрать фрукты с уникальной длиной текста.
let
Source = {"Apple", "Banana", "Cherry", "Date", "Fig"},
Result = List.Distinct(List.Reverse(Source), each Text.Length(_))
in
Result
Result:
{"Fig", "Date", "Cherry", "Apple"}
Example #3
Начиная с начала списка, выбрать уникальные фрукты, игнорируя регистр.
let
Source = {"apple", "Pear", "aPPle", "banana", "ORANGE", "pear", "Banana", "Cherry"},
Result = List.Distinct(Source, Comparer.OrdinalIgnoreCase)
in
Result
Result:
{"apple", "Pear", "banana", "ORANGE", "Cherry"}
Example #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
Result:
#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}
})
Category
List.Selection