Table.Distinct(List.Distinct)의 사용 예
3096 단어 PowerBIExcelPowerQuery
소개
마우스 조작으로의 「중복의 삭제」는 사용한 적이 있다고 생각합니다.
열의 제목 표시줄에서 마우스 오른쪽 버튼을 클릭하면 아래 그림과 같은 메뉴가 나와 중복 삭제를 할 수 있습니다.
하고 싶은 일 1: 여러 열을 함께 비교
이것은 여전히 마우스로 할 수 있습니다. 여러 열 선택한 상태에서 실행하면 선택 중인 열을 함께 비교해 줍니다.
완성되는 코드는 이런 느낌입니다.
여러 줄을 함께
Table.Distinct(Source, {"Column2", "Column3"})
하고 싶은 것 2: 값을 가공한 후 비교
열을 추가하거나 하지 마십시오. 이것은 더 이상 코드를 작성할 수 있습니다.
테이블
예를 들면, 이런 코드가 지나갑니다. (샘플 데이터 포함)
정렬하고 비교하고 있습니다.
가공 후의 값으로 비교
let
Source = Table.FromColumns({{1..3}&{1..3},{2,3,1}&{3,1,2},{3,1,2}&{2,1,3}}),
Custom1 = Table.Distinct(Source,
{each List.Sort(Record.ToList(_)), Comparer.Ordinal}
)
in
Custom1
↓실행 전
↓실행 후. 행 내용의 조합이 중복되지 않게 되었습니다.
리스트
이쪽도 똑같이 쓸 수 있습니다.
가공 후의 값으로 비교~리스트
let
Source = {[a={1..3},b={2,3,1}],[a={1..3},b={3,1,2}]},
Custom2 = List.Distinct(Source,
{each List.Sort([b]), Comparer.Ordinal}
)
in
Custom2 //[a={1..3},b={2,3,1}]が返ります。
약간의 해설
공식 레퍼런스의 함수 구문에서,
List.Distinct(list as list, optional equationCriteria as any, criteria as any) as list
Table.Distinct(table as table, optional equationCriteria as any) as table
되어 있습니다. 이 "equationCriteria"인수를 쓰는 방법은 문제입니다.
시도한 한 다음 2 가지 용법이 있습니다.
1. 열명의 문자열의 리스트를 넣으면, 열의 조합을 봐 준다. (Table.Distinct 쪽만. 하고 싶은 것 1 참조)
2. {가공 내용, 비교 방법}이라는 형태로 넣어 주면, 가공 후의 값으로의 비교가 된다.
가공 내용은 함수로 씁니다.
비교 방법은 위의 코드에서는 "Comparer.Ordinal"만 사용했습니다. Comparer 함수는 그 밖에도 있으므로, 흥미가 있다면 구분하면 좋지 않을까요.
Comparer functions | Microsoft Docs
덧붙여서, 비교 방법에 커스텀 함수가 들어가는 것은? 라고 생각했습니다만, 에러가 되었습니다. 커스텀 할 수 있는 것은, 가공 내용의 분만과 같습니다.
레퍼런스
Power Query M Reference | Microsoft Docs
List.Distinct 함수
Table.Distinct 함수
Reference
이 문제에 관하여(Table.Distinct(List.Distinct)의 사용 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanuki_phoenix/items/215a2cd331b34533242d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)