
답변1
답변2
마이크로소프트를 이용하세요가져오기 및 변환 전동 공구Excel 2016을 사용하는 경우 두 변수(또는 테이블)의 데카르트 곱을 만들기 위한 것입니다.
(Excel 2010-2013의 경우 무료 MS 추가 기능을 사용하십시오.Excel용 파워 쿼리.)
설명된 방법과 유사합니다.여기, 당신은 할 수 있습니다
- 파워 쿼리에서 두 열을 구분된 테이블로 가져옵니다(Excel 2016: 리본 데이터 > 테이블에서).
- 그런 다음 동일한 값(예: 1)을 가진 도우미 열을 추가합니다.
- 두 테이블을 병합
- 원래 가져온 열 유지
이론적으로는 두 개의 열뿐만 아니라 여러 열로 구성된 두 개의 테이블에서도 데카르트 곱을 만들 수 있습니다.
두 테이블의 M 코드는 다음과 같습니다.
표2
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column2", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1)
in
#"Added Custom"
1 번 테이블
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1),
#"Merged Queries" = Table.NestedJoin(#"Added Custom",{"CrossColumn"},Table2,{"CrossColumn"},"Table2",JoinKind.Inner),
#"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Table2", {"Column2"}, {"Column2"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded {0}",{"CrossColumn"})
in
#"Removed Columns"