전원 쿼리:그룹화된 값을 연결하려면 어떻게 해야 합니까?
다음 표(아래 그림 참조)가 있는 경우 그룹화된 결과를 연결하는 그룹화된 쿼리를 작성하려면 어떻게 해야 합니까?
이 예에서는 다음을 기준으로 그룹화합니다.LetterColumn
그리고 연결합니다.NumberColumn
따라서 원하는 결과는 다음과 같습니다.
GUI를 사용하여 다음과 같은 방법으로 이 작업을 수행할 수 있습니다.
문자 열을 선택한 다음 변환 / 그룹화 기준:
열 추가 / 사용자 지정 열 선택:
새 사용자 지정 열의 오른쪽 상단에 있는 반대쪽 화살표를 클릭하여 새 사용자 지정 열의 값을 추출합니다.
- 모든 데이터 열을 제거합니다.
테이블이 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
'sourcecode' 카테고리의 다른 글
PostgreSQL INSERT ON CONCLIVENT UPDATE(업서트) 제외된 모든 값 사용 (0) | 2023.05.23 |
---|---|
ng-class를 사용하여 다중 클래스 추가 (0) | 2023.05.23 |
하위 프로세스를 사용하는 방법.파이썬에서 check_output()? (0) | 2023.05.23 |
pathlib가 있는 새 폴더를 만들고 파일을 해당 폴더에 씁니다. (0) | 2023.05.23 |
Stuff 및 'For Xml Path'는 SQL Server에서 어떻게 작동합니까? (0) | 2023.05.23 |