List.Distinct

Sintaks

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

Tentang

Mengembalikan daftar baru yang berisi semua nilai dalam daftar asli, tetapi dengan duplikat dihapus. Jika daftar asli kosong, hasilnya adalah daftar kosong.

  • list: Daftar asli tempat nilai yang berbeda diekstrak.
  • equationCriteria: (Opsional) Menentukan bagaimana kesetaraan ditentukan saat membandingkan nilai. Parameter ini dapat menjadi fungsi pemilih kunci, fungsi pembanding, atau daftar yang berisi pemilih kunci dan pembanding.

Contoh 1

Hapus duplikat dari daftar {1, 1, 2, 3, 3, 3}.

Penggunaan

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

Hasil

{1, 2, 3}

Contoh 2

Mulai dari akhir daftar, pilih buah-buahan yang memiliki panjang teks unik.

Penggunaan

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

Hasil

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

Contoh 3

Mulai dari awal daftar, pilih buah-buahan unik sambil mengabaikan huruf besar/kecil.

Penggunaan

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

Hasil

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

Contoh 4

Ekstrak dari daftar daftar daftar pertama dengan nama negara unik saat mengabaikan kasus. Tempatkan daftar yang diekstrak di baris tabel baru.

Penggunaan

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

Hasil

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

Kriteria persamaan