안녕하세요 책읽고 참 큰도움 받았는데 어려움이 생겨 답변을 구하고자 합니다.
여러 엑셀파일(약200개)에 있는 데이터를 추출하고자
아래와 같은 쿼리를 만들었습니다.
이때 여러 엑셀파일은 관리 사이트에서 정보가 입력되어있으면 그 데이터를 기반으로 자동으로 엑셀에 표를 만들어 다운받아서 사용합니다.
이렇게 받은 원본파일을 그대로
첫번째 부분처럼 샘플파일 쿼리 만들고
let
원본 = Excel.Workbook(#"샘플 파일 매개 변수2", null, true),
Col1_Sheet = 원본{[Item="Col1",Kind="Sheet"]}[Data],
#"제거된 열 수" = Table.RemoveColumns(Col1_Sheet,{"Column1", "Column8", "Column10", "Column14", "Column15", "Column16"}),
#"제거된 상위 행 수" = Table.Skip(#"제거된 열 수",4),
#"추가된 인덱스" = Table.AddIndexColumn(#"제거된 상위 행 수", "인덱스", 0, 1),
#"필터링된 행1" = Table.SelectRows(#"추가된 인덱스", each ([인덱스] = 0 or [인덱스] = 1 or [인덱스] = 2 or [인덱스] = 3 or [인덱스] = 4 or [인덱스] = 6 or [인덱스] = 21)),
#"바꾼 값" = Table.ReplaceValue(#"필터링된 행1",null,"",Replacer.ReplaceValue,{"Column5", "Column6", "Column12"}),
#"피벗 해제된 열 수" = Table.UnpivotOtherColumns(#"바꾼 값", {"인덱스"}, "특성", "값"),
#"추가된 인덱스1" = Table.AddIndexColumn(#"피벗 해제된 열 수", "인덱스.1", 0, 1),
#"필터링된 행2" = Table.SelectRows(#"추가된 인덱스1", each ([인덱스.1] = 1 or [인덱스.1] = 4 or [인덱스.1] = 9 or [인덱스.1] = 10 or [인덱스.1] = 12 or [인덱스.1] = 18 or [인덱스.1] = 19 or [인덱스.1] = 21 or [인덱스.1] = 25 or [인덱스.1] = 28 or [인덱스.1] = 29 or [인덱스.1] = 31 or [인덱스.1] = 32)),
#"제거된 열 수3" = Table.RemoveColumns(#"필터링된 행2",{"인덱스", "특성", "인덱스.1"}),
#"행/열을 바꾼 테이블" = Table.Transpose(#"제거된 열 수3"),
#"조건 열이 추가됨" = Table.AddColumn(#"행/열을 바꾼 테이블", "사용자 지정", each if Text.Contains([Column1], "T") then "양도" else if Text.Contains([Column1], "S") then "보관" else if Text.Contains([Column1], "A") then "양수" else null),
#"다시 정렬한 열 수" = Table.ReorderColumns(#"조건 열이 추가됨",{"Column1", "사용자 지정", "Column2", "Column13", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12"}),
#"이름을 바꾼 열 수" = Table.RenameColumns(#"다시 정렬한 열 수",{{"Column1", "접수번호"}, {"사용자 지정", "구분"}, {"Column2", "접수일"}, {"Column3", "양도인"}, {"Column4", "양도인 연락처"}, {"Column5", "양도인 주소"}, {"Column6", "양수자(보관자)"}, {"Column7", "양수자 연락처"}, {"Column8", "양수자 주소"}, {"Column9", "학명(국명)"}, {"Column10", "수량"}, {"Column11", "용도"}, {"Column12", "양도사유(보관사유)"}, {"Column13", "처리일"}})
in
#"이름을 바꾼 열 수"
----------------------------------------------
let
원본 = Folder.Files("C:UsersuserDesktop신고확인증test5"),
#"필터링된 숨겨진 파일1" = Table.SelectRows(원본, each [Attributes]?[Hidden]? <> true),
#"사용자 지정 함수 호출1" = Table.AddColumn(#"필터링된 숨겨진 파일1", "test5 (2)에서 파일 변환", each #"test5 (2)에서 파일 변환"([Content])),
#"이름을 바꾼 열 수1" = Table.RenameColumns(#"사용자 지정 함수 호출1", {"Name", "Source.Name"}),
#"제거된 다른 열 수1" = Table.SelectColumns(#"이름을 바꾼 열 수1", {"Source.Name", "test5 (2)에서 파일 변환"}),
#"확장된 테이블 열1" = Table.ExpandTableColumn(#"제거된 다른 열 수1", "test5 (2)에서 파일 변환", Table.ColumnNames(#"test5 (2)에서 파일 변환"(#"샘플 파일 (2)")))
in
#"확장된 테이블 열1"
