sourcecode

전원 쿼리:그룹화된 값을 연결하려면 어떻게 해야 합니까?

codebag 2023. 5. 23. 21:51
반응형

전원 쿼리:그룹화된 값을 연결하려면 어떻게 해야 합니까?

다음 표(아래 그림 참조)가 있는 경우 그룹화된 결과를 연결하는 그룹화된 쿼리를 작성하려면 어떻게 해야 합니까?

입력 테이블

이 예에서는 다음을 기준으로 그룹화합니다.LetterColumn그리고 연결합니다.NumberColumn

따라서 원하는 결과는 다음과 같습니다.

결과 표

GUI를 사용하여 다음과 같은 방법으로 이 작업을 수행할 수 있습니다.

  1. 문자 열을 선택한 다음 변환 / 그룹화 기준:

  2. 열 추가 / 사용자 지정 열 선택:

  3. 새 사용자 지정 열의 오른쪽 상단에 있는 반대쪽 화살표를 클릭하여 새 사용자 지정 열의 값을 추출합니다.

여기에 이미지 설명 입력 여기에 이미지 설명 입력

  1. 모든 데이터 열을 제거합니다.

테이블이 Source이고 NumberColumn에 숫자 유형이 있으면 다음과 같이 작동합니다.

= Table.Group(Source, {"LetterColumn"}, {{"Column", each Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ","), type text}})

Table.Group에서는 작업별로 그룹화를 수행하며, 문자 열의 값이 동일한 모든 행으로 구성된 테이블을 만듭니다. _[NumberColumn]이 새 테이블의 NumberColumn 열에 있는 값 목록을 제공합니다.List.Transform부품은 숫자를 텍스트 값으로 변환합니다.Text.Combine에서는 각 값을 구분하는 쉼표를 사용하여 이러한 숫자를 결합합니다.

주변 인용문도 필요한 경우 다음 작업을 수행할 수 있습니다.

= Table.Group(Source, {"LetterColumn"}, {{"Column", each """" & Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ",") & """", type text}})

""""는 " 문자를 나타내며 두 개의 텍스트 값을 결합합니다.

GUI에 "텍스트 결합" 작업이 있다면 좋을 것입니다.그러나 Sum 연산과 Column 선택에서 약간의 조정이 있습니다.

여기에 이미지 설명 입력

우리는 우리가 원하는 거의 모든 것을 바로 이 문제에 착수합니다.

여기에 이미지 설명 입력

= Table.Group(Source, 
    {"LetterColumn"}, 
    {{"NearlyGoodToGo", each List.Sum([NumberColumn]), type number}})

이제 코드에서 직접 변경되는 두 가지 사항:

  • 교체하다List.Sum[NumberColumn]와 함께Text.Combine(List.Transform([NumberColumn], Text.From), ",")
  • 교체하다type number와 함께type text

저는 이것이 어려운 부분에 GUI를 사용하여 기본 템플릿을 얻지만 GUI의 All Rows 작업과 생성되는 중첩 테이블로 인해 추가 단계가 발생하지 않도록 코드를 조정하는 것이라고 봅니다.

데모

let
    Source = Table.FromColumns({{"A","A","A","B","B","C","C","C","C"},{1..9}}, type table[LetterColumn = Text.Type, NumberColumn = Number.Type]),
    #"Grouped Rows" = Table.Group(Source, {"LetterColumn"}, {{"GoodToGo", each Text.Combine(List.Transform([NumberColumn], Text.From), ","), type text}})
in
    #"Grouped Rows" 

결과.

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/44058355/powerquery-how-can-i-concatenate-grouped-values

반응형