다음을 통해 공유


Table.FuzzyGroup

통사론

Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table

소개

table의 행을 각 행의 지정된 열 key의 값을 유사하게 일치시켜 그룹화합니다. 각 그룹마다 키 열 및 해당 값과, aggregatedColumns이(가) 지정한 집계 열을 포함하는 레코드가 생성됩니다. 이 함수는 고정된 행 순서를 반환하도록 보장할 수 없습니다.

키 열을 비교하는 방법을 지정하기 위해 options의 선택적 집합을 포함할 수 있습니다. 옵션은 다음과 같습니다.

  • Culture: 문화권별 규칙에 따라 레코드를 그룹화할 수 있습니다. 어떤 유효한 문화 이름이든 가능합니다. 예를 들어 "ja-JP"의 Culture 옵션은 일본 문화권에 따라 레코드를 그룹화합니다. 기본값은 ""이며, 이는 불변 영어 문화권에 따라 그룹화됩니다.
  • IgnoreCase: 대/소문자를 구분하지 않는 키 그룹화가 가능한 논리적(true/false) 값입니다. 예를 들어 true인 경우 "Grapes"는 "grapes"로 그룹화됩니다. 기본값은 true입니다.
  • IgnoreSpace: 그룹을 찾기 위해 텍스트 부분을 결합할 수 있는 논리적(true/false) 값입니다. 예를 들어 true인 경우 "Gra pes"는 "Grapes"로 그룹화됩니다. 기본값은 true입니다.
  • SimilarityColumnName: 입력 값과 해당 입력의 대표 값 사이의 유사성을 보여 주는 열의 이름입니다. 기본값은 null이며, 이 경우 유사성에 대한 새 열이 추가되지 않습니다.
  • Threshold: 두 값을 그룹화할 유사성 점수를 지정하는 0.00에서 1.00 사이의 숫자입니다. 예를 들어 "Grapes" 및 "Graes"("p" 누락)는 이 옵션이 0.90 미만으로 설정된 경우에만 함께 그룹화됩니다. 임계값 1.00은 정확한 일치만 허용합니다. 대략적 "정확한 일치"는 대/소문자, 단어 순서 및 문장 부호와 같은 차이를 무시할 수 있습니다. 기본값은 0.80입니다.
  • TransformationTable: 사용자 지정 값 매핑에 따라 레코드를 그룹화할 수 있는 테이블입니다. "From" 및 "To" 열을 포함해야 합니다. 예를 들어, 변환 테이블에 "From" 열에 "Grapes"와 "To" 열에 "Raisins"가 포함되어 있다면, "Grapes"는 "Raisins"로 그룹화됩니다. 변환 테이블의 모든 텍스트 발생에 변환이 적용됩니다. 위의 변환 표에서 "포도는 달콤하다"는 "건포도는 달콤하다"와 그룹화됩니다.

예제 1

각 위치(each Table.RowCount(_))의 직원 수를 포함하는 집계 열 [Count]를 추가하는 테이블을 그룹화합니다.

사용량

Table.FuzzyGroup(
    Table.FromRecords(
        {
            [EmployeeID = 1, Location = "Seattle"],
            [EmployeeID = 2, Location = "seattl"],
            [EmployeeID = 3, Location = "Vancouver"],
            [EmployeeID = 4, Location = "Seatle"],
            [EmployeeID = 5, Location = "vancover"],
            [EmployeeID = 6, Location = "Seattle"],
            [EmployeeID = 7, Location = "Vancouver"]
        },
        type table [EmployeeID = nullable number, Location = nullable text]
    ),
    "Location",
    {"Count", each Table.RowCount(_)},
    [IgnoreCase = true, IgnoreSpace = true]
)

출력

Table.FromRecords({
    [Location = "Seattle", Count = 4],
    [Location = "Vancouver", Count = 3]
})