Partager via


List.Distinct

Syntaxe

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

À propos

Retourne une liste qui contient toutes les valeurs de la liste spécifiée avec des doublons supprimés. Si la liste spécifiée est vide, le résultat est une liste vide.

  • list: liste à partir de laquelle des valeurs distinctes sont extraites.
  • equationCriteria: (Facultatif) Spécifie la façon dont l’égalité est déterminée lors de la comparaison des valeurs. Ce paramètre peut être une fonction de sélecteur de clé, une fonction de comparateur ou une liste contenant à la fois un sélecteur de clé et un comparateur.

Exemple 1

Supprimez les doublons de la liste {1, 1, 2, 3, 3, 3}.

Utilisation

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

Sortie

{1, 2, 3}

Exemple 2

À partir de la fin de la liste, sélectionnez les fruits qui ont une longueur de texte unique.

Utilisation

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

Sortie

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

Exemple 3

À partir du début de la liste, sélectionnez les fruits uniques tout en ignorant le cas.

Utilisation

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

Sortie

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

Exemple 4

Extrayez d’une liste de listes les premières listes avec des noms de pays uniques tout en ignorant la casse. Placez les listes extraites dans les lignes d’une nouvelle table.

Utilisation

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

Sortie

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

Critères d’équation