파워 쿼리에서 기준에 따라 여러 행을 1로 병합

안드레이 카라 세프

다음 작업을 해결하는 데 도움을 주시겠습니까?

  1. Fe 데이터 세트가 있습니다.

여기에 이미지 설명 입력

내가 필요한 것-설명이있는 작업을 생성하고 어떤 할인을 확인해야합니다. 하지만 다음과 같은 형식이어야합니다. 동일한 할인 깊이를 가진 동일한 브랜드 내의 SKU는 1 행으로 병합되어야합니다.-SKU의 경우 브랜드 1에 대해 10 % 할인 확인 : 크림 및 오일.

다른 브랜드는 브랜드 내에서 다른 할인이 적용되므로 동일한 행을 유지해야합니다.

SKU 세제 브랜드 2의 할인 20 % 확인 SKU 탭의 브랜드 2 할인 15 % 확인.

더 많은 수준의 데이터가 있습니다. 작업이 동일한 콘센트 내에 있어야합니다 (x> 1 개의 콘센트가있는 경우 콘센트의 양에 따라 작업에 x를 곱합니다). 그러나 위에서 언급 한 작업을 수행하는 방법을 얻으면 더 쉬울 것 같습니다.

  1. 이전과 상당히 비슷해야하지만 내가 틀렸을 수도 있습니다

여기에 이미지 설명 입력

모니터 및 카탈로그 열은 기본적으로 병합 할 수있는 행을 설명합니다. 따라서이 테이블의 출력은 2 행이어야합니다.

  1. 모니터에서 1 개의 오일 및 2 개의 탭 위치 확인
  2. 카탈로그에서 1- 크림 및 2- 세제 위치 확인

여러 수준의 집계가있을 수 있습니다. 즉, 1이있는 행 위에 2가있는 행이있을 수 있습니다. 즉, 별도의 작업에서도 병합되어야합니다. 0은 모든 경우에-복용하지 않음을 의미합니다.

나는 그것이 약간 복잡 할 수 있다는 것을 이해하지만 현재 VBA가 각 행을 분석하고 일치 위치를 찾는 중이므로 파워 쿼리 에서이 프로세스의 속도를 높이고 싶습니다.

입력 데이터로 원하는 결과는 다음과 같습니다. 여기에 이미지 설명 입력

그 이상의 모든 것은 간단합니다. 브랜드 SKU를 제거하고 작업별로 그룹화합니다.여기에 이미지 설명 입력

감사합니다!

알렉시스 올슨

여러분들은 필요 이상으로 복잡하게 만들고 있습니다. 여기서 핵심은 Group By를 사용할 때 텍스트 열을 집계 할 수 있다는 것입니다.

첫 번째 작업을 수행하는 방법은 다음과 같습니다.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUUouSk3MBdKGBqpKsToQsfzMHCQRIyA7JbUktSg9Na8EyDZCEi9JTCoGKTUFCsUCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Brand = _t, SKU = _t, Discount = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Brand", Int64.Type}, {"SKU", type text}, {"Discount", Percentage.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Brand", "Discount"}, {{"SKU", each Text.Combine([SKU],", "), type nullable text}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Result task", each "Check discount " & Number.ToText([Discount], "P0") & " for brand " & Number.ToText([Brand]) & " for SKU: " & [SKU], type text)
in
    #"Added Custom"

결과:

산출

Brand 및 Discount로 그룹화하고 SKU 열을 집계했지만 Text.Combine([SKU],", ")선택할 수있는 기본 옵션 대신 집계 함수로 사용하여 각 행을 ","로 구분 된 목록으로 결합했습니다 . 일반적으로 Max를 집계로 선택한 다음 List.Max([SKU])해당 단계의 공식에서 해당 함수를 대체합니다 .

그룹화를 완료 한 후에는 사용자 지정 열에 조각을 함께 묶기 만하면됩니다.


두 번째 작업은 그룹화하기 전에 브랜드와 SKU를 하나의 열로 연결하는 추가 단계와 유사하게 수행 할 수 있습니다.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUUouSk3MBdIGQGyoFKsDEc3PzAHzQeIgMSMgKyW1JLUoPTWvBEU1SKYkMakYoTwWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Brand = _t, SKU = _t, Monitor = _t, Catalogue = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Brand", Int64.Type}, {"SKU", type text}, {"Monitor", Int64.Type}, {"Catalogue", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "BrandSKU", each Number.ToText([Brand]) & "-" & [SKU], type text),
    #"Grouped Rows" = Table.Group(#"Added Custom", {"Monitor", "Catalogue"}, {{"BrandSKU", each Text.Combine([BrandSKU], ", "), type text}}),
    #"Added Custom1" = Table.AddColumn(#"Grouped Rows", "Result task", each "Check placement of " & [BrandSKU] & " on " & (if  [Catalogue] = 1 then "Catalogue" else "Monitor"), type text)
in
    #"Added Custom1"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python을 사용하여 특정 기준에 따라 여러 csv 파일 병합

분류에서Dev

주문에 따라 여러 행 병합

분류에서Dev

여러 기준에 따라 결과 집합을 반환하는 SQL 쿼리

분류에서Dev

XSLT-기준에 따라 큰 XML을 여러 파일로 분할

분류에서Dev

여러 기준에 따라 다른 값 병합

분류에서Dev

SQL Server : 조건에 따라 2 개 행을 1 개로 병합

분류에서Dev

여러 기준에 따라 그룹당 1 개 행 선택

분류에서Dev

여러 기준에 따라 행 계산

분류에서Dev

여러 기준에 따라 시간을 합산합니다.

분류에서Dev

여러 기준에 따라 각 행의 최대 값을 반환합니다.

분류에서Dev

병합 정렬 (C #)을 사용하여 여러 기준에 따라 배열을 정렬 할 수 있습니까?

분류에서Dev

두 번째 테이블의 행에 우선 순위를 부여하여 기준에 따라 두 테이블을 병합하는 쿼리 만들기

분류에서Dev

파워 쿼리에서 행을 복제하지 않고 두 쿼리 병합

분류에서Dev

수직 레벨에 따라 여러 Netcdf 파일 병합

분류에서Dev

여러 기준에 따라 한 탭에서 다른 탭으로 행 복사

분류에서Dev

기준에 따라 다른 통합 문서의 템플릿을 여러 시트의 특정 셀로 복사

분류에서Dev

몇 가지 기준에 따라 두 테이블을 병합하는 쿼리

분류에서Dev

행 값을 기반으로 Oracle에서 여러 열 병합

분류에서Dev

여러 기준에 따라 Elastic Search에서 쿼리

분류에서Dev

여러 기준에 따라 그룹에서 행 제거 r

분류에서Dev

조건에 따라 여러 파일을 여러 디렉토리로 이동

분류에서Dev

Google 스프레드 시트-여러 기준에 따라 행을 다른 시트로 이동하려면 어떻게해야합니까?

분류에서Dev

PHP에서 여러 PDF 파일을 하나로 병합

분류에서Dev

Excel-여러 기준에 따라 여러 행 범위에서 MAX 값 찾기

분류에서Dev

수량에 따라 행을 여러 행으로 분할

분류에서Dev

R의 여러 csv를 파일 이름에 따라 색인과 병합

분류에서Dev

열 1 값을 기준으로 여러 열을 두 열에 병합하는 방법은 무엇입니까?

분류에서Dev

SQL에서 여러 행을 하나로 병합

분류에서Dev

여러 기준에 따라 행에 대한 열의 값

Related 관련 기사

  1. 1

    Python을 사용하여 특정 기준에 따라 여러 csv 파일 병합

  2. 2

    주문에 따라 여러 행 병합

  3. 3

    여러 기준에 따라 결과 집합을 반환하는 SQL 쿼리

  4. 4

    XSLT-기준에 따라 큰 XML을 여러 파일로 분할

  5. 5

    여러 기준에 따라 다른 값 병합

  6. 6

    SQL Server : 조건에 따라 2 개 행을 1 개로 병합

  7. 7

    여러 기준에 따라 그룹당 1 개 행 선택

  8. 8

    여러 기준에 따라 행 계산

  9. 9

    여러 기준에 따라 시간을 합산합니다.

  10. 10

    여러 기준에 따라 각 행의 최대 값을 반환합니다.

  11. 11

    병합 정렬 (C #)을 사용하여 여러 기준에 따라 배열을 정렬 할 수 있습니까?

  12. 12

    두 번째 테이블의 행에 우선 순위를 부여하여 기준에 따라 두 테이블을 병합하는 쿼리 만들기

  13. 13

    파워 쿼리에서 행을 복제하지 않고 두 쿼리 병합

  14. 14

    수직 레벨에 따라 여러 Netcdf 파일 병합

  15. 15

    여러 기준에 따라 한 탭에서 다른 탭으로 행 복사

  16. 16

    기준에 따라 다른 통합 문서의 템플릿을 여러 시트의 특정 셀로 복사

  17. 17

    몇 가지 기준에 따라 두 테이블을 병합하는 쿼리

  18. 18

    행 값을 기반으로 Oracle에서 여러 열 병합

  19. 19

    여러 기준에 따라 Elastic Search에서 쿼리

  20. 20

    여러 기준에 따라 그룹에서 행 제거 r

  21. 21

    조건에 따라 여러 파일을 여러 디렉토리로 이동

  22. 22

    Google 스프레드 시트-여러 기준에 따라 행을 다른 시트로 이동하려면 어떻게해야합니까?

  23. 23

    PHP에서 여러 PDF 파일을 하나로 병합

  24. 24

    Excel-여러 기준에 따라 여러 행 범위에서 MAX 값 찾기

  25. 25

    수량에 따라 행을 여러 행으로 분할

  26. 26

    R의 여러 csv를 파일 이름에 따라 색인과 병합

  27. 27

    열 1 값을 기준으로 여러 열을 두 열에 병합하는 방법은 무엇입니까?

  28. 28

    SQL에서 여러 행을 하나로 병합

  29. 29

    여러 기준에 따라 행에 대한 열의 값

뜨겁다태그

보관