次の方法で共有


List.Distinct

構文

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

数式の条件