다음을 통해 공유


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

수식 조건