List.Distinct

Syntaxis

List.Distinct(list as list, optional equationCriteria as any) as list

Over

Retourneert een nieuwe lijst die alle waarden in de oorspronkelijke lijst bevat, maar met dubbele waarden verwijderd. Als de oorspronkelijke lijst leeg is, is het resultaat een lege lijst.

  • list: De oorspronkelijke lijst waaruit de afzonderlijke waarden worden geëxtraheerd.
  • equationCriteria: (Optioneel) Geeft aan hoe gelijkheid wordt bepaald bij het vergelijken van waarden. Deze parameter kan een sleutelkiezerfunctie, een vergelijkingsfunctie of een lijst met zowel een sleutelkiezer als een vergelijkingsfunctie zijn.

Voorbeeld 1

Verwijder de duplicaten uit de lijst {1, 1, 2, 3, 3, 3}.

Gebruik

List.Distinct({1, 1, 2, 3, 3, 3})

Uitvoer

{1, 2, 3}

Voorbeeld 2

Selecteer vanaf het einde van de lijst de vruchten met een unieke tekstlengte.

Gebruik

let
    Source = {"Apple", "Banana", "Cherry", "Date", "Fig"},
    Result = List.Distinct(List.Reverse(Source), each Text.Length(_))
in
    Result

Uitvoer

{"Fig", "Date", "Cherry", "Apple"}

Voorbeeld 3

Vanaf het begin van de lijst selecteert u de unieke vruchten terwijl u het geval negeert.

Gebruik

let
    Source = {"apple", "Pear", "aPPle", "banana", "ORANGE", "pear", "Banana", "Cherry"},
    Result = List.Distinct(Source, Comparer.OrdinalIgnoreCase)
in
    Result

Uitvoer

{"apple", "Pear", "banana", "ORANGE", "Cherry"}

Voorbeeld 4

Extraheren uit een lijst met lijsten met de eerste lijsten met unieke landnamen terwijl hoofdletters en kleine letters worden genegeerd. Plaats de geëxtraheerde lijsten in de rijen van een nieuwe tabel.

Gebruik

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

Uitvoer

#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}
})

Vergelijkingscriteria