중첩 식: 파워 쿼리 환경

중첩 식: 파워 쿼리 환경

이 자습서에서는 파워 쿼리 의 중첩 식, 개체 및 환경에 대해 알아봅니다 . 중첩된 표현식과 변수는 환경이 작동하는 방식을 논의하고 데이터 생성을 돕는 데 사용됩니다. 중첩된 개체를 변환할 때 일반적인 시나리오를 처리하는 방법도 배웁니다.

목차

중첩 표현식 만들기

표현식은 값을 구성하는 데 사용되는 공식으로 정의됩니다.

중첩 식: 파워 쿼리 환경

수식 입력줄의 식은 하위 식에서 작성됩니다. 리터럴 1과 2는 부모 식의 하위 식입니다.

변수는 명명된 값으로 정의됩니다. 이것은 샘플 레코드입니다.

중첩 식: 파워 쿼리 환경

고급 편집기 창을 열면 쿼리에 사용된 변수를 확인할 수 있습니다.

중첩 식: 파워 쿼리 환경

변수 a , bc 는 각각 등호 뒤에 자주 나타나는 식의 결과인 값을 나타냅니다. 레코드 자체인 상위 표현식 내의 모든 변수는 해당 레코드의 환경을 형성합니다. 해당 환경 내에서 각 변수는 고유해야 합니다.

따라서 c 라는 다른 변수를 추가하면 고급 편집기 창 아래에 오류 메시지가 표시됩니다.

중첩 식: 파워 쿼리 환경

중첩 식: 파워 쿼리 환경

레코드는 식별자 또는 변수 이름을 사용하여 모든 하위 표현식에 액세스할 수 있습니다. 그러나 레코드 내의 중첩 표현식의 경우 자신을 제외한 레코드의 다른 모든 변수에 액세스할 수 있기 때문에 각 환경이 다릅니다.

이 예에서 변수 c가 자신을 참조하고 있음 을 알 수 있습니다 .

중첩 식: 파워 쿼리 환경

완료를 누르면 오류 메시지가 표시됩니다.

중첩 식: 파워 쿼리 환경

항목 접근 연산자를 추가하여 c 의 값을 추출하면 결과가 나옵니다. 동일한 규칙이 적용되기 때문에 let 표현식 에서도 동일한 결과를 얻을 수 있습니다 .

중첩 식: 파워 쿼리 환경

환경의 중첩 표현식 이해

이것은 레코드 값의 또 다른 예입니다.

중첩 식: 파워 쿼리 환경

고급 편집기 창을 열면 변수 ab가 가장 바깥쪽 환경인 동일한 환경을 공유하는 것을 볼 수 있습니다. 또한 변수 x , yz 가 상위 표현식 a 의 하위 표현식임을 알 수 있습니다 .

중첩 식: 파워 쿼리 환경

각 변수는 자신을 제외한 중첩된 레코드 내의 다른 모든 변수에 액세스할 수 있습니다. 다른 환경에 존재하는 변수를 호출할 수 있습니다. 이 예에서 z 는 외부 환경에 있는 b를 참조하고 있음 을 알 수 있습니다 .

중첩 식: 파워 쿼리 환경

변수 x , yz 는 b 가 부모 표현 환경의 일부이기 때문에 b 에 액세스할 수 있습니다 . 동일한 변수를 다른 환경에서 사용할 수도 있습니다.

이 다른 예에서는 내부 및 외부 레코드에 변수 x가 있음을 알 수 있습니다 .

중첩 식: 파워 쿼리 환경

변수는 자체 환경 내에서 고유해야 합니다. 변수에 할당된 가장 가까운 x가 사용됩니다. 이 샘플 쿼리에서는 내부 x가 레코드 a 의 관점에서 더 가깝기 때문에 사용됩니다 .

중첩 식: 파워 쿼리 환경

이 다른 쿼리에서는 변수 b 에 가까운 가장 가까운 x가 표현식에 사용됩니다.

중첩 식: 파워 쿼리 환경

외부 변수 b는 항목 액세스 연산자를 사용하여 레코드 a 내부의 변수 x 를 참조할 수 있습니다 . 변수 a 를 참조한 다음 대괄호 세트를 사용하여 x 에 액세스해야 합니다. 같은 방식으로 레코드 a는 변수 b 내의 변수 x를 참조할 수 있습니다 .

중첩 식: 파워 쿼리 환경

중첩된 레코드 a 의 환경이 상위 표현식의 변수와 병합되면 x가 두 번 존재하고 모든 변수가 해당 환경에서 고유해야 하므로 충돌이 발생합니다. 변수는 자신을 참조할 수 없으므로 외부 x를 참조하여 충돌을 해결합니다.

중첩 식: 파워 쿼리 환경

일반적인 시나리오 해결

일반적인 시나리오는 중첩된 개체를 변환하는 것입니다. 설명하기 위해 이 테이블이 사용됩니다.

중첩 식: 파워 쿼리 환경

외부 테이블에서 값을 검색하여 중첩 테이블에 배치하려는 경우 두 가지 방법이 있습니다. 첫 번째 방법은 사용자 지정 열 추가 옵션을 사용하는 것입니다 .

미리보기 창의 왼쪽 상단 모서리에 있는 테이블 아이콘을 클릭하고 사용자 지정 열 추가를 선택합니다.

중첩 식: 파워 쿼리 환경

열 이름으로 Temp를 입력하고 사용자 지정 열 수식 에 자리 표시자를 입력합니다 . 완료되면 확인을 누릅니다.

중첩 식: 파워 쿼리 환경

수식 입력줄 내에서 중첩 테이블에 열을 추가하여 식을 사용자 지정 함수로 바꿉니다. 사용자 지정 함수에 대한 논리를 시작하고 외부 테이블에 대해 OT 라고 합니다. 그런 다음 이동 기호를 추가합니다.

그런 다음 Table.AddColumn 함수를 사용하여 열을 추가합니다. 이름 열에 있는 외부 테이블의 테이블을 참조하십시오. 그런 다음 새 열 이름을 입력합니다.

이 예에서 사용된 열 이름은 Revenue 입니다 . Get Revenue 열에 각 행의 값을 가져오는 each 함수를 입력합니다 .

중첩 식: 파워 쿼리 환경

Temp 열에 있는 행의 셀 내부 공간을 클릭하면 미리 보기 창 아래에 중첩된 테이블의 미리 보기가 표시됩니다. 각 행에 외부 테이블의 값이 있음을 알 수 있습니다.

중첩 식: 파워 쿼리 환경

변수를 사용하여 값 저장

중첩 개체를 변환하는 두 번째 방법은 변수를 사용하여 값을 저장하는 것입니다. 먼저 사용자 지정 열을 추가하고 Temp2를 열 이름으로 입력합니다. 수식의 경우 let 식을 사용하여 변수에 값을 저장합니다.

let을 입력 하고 변수명을 적습니다. 이 예에서 변수 이름은 myR 입니다 . 다음으로 변수를 수익 가져오기 열과 동일시합니다. 그런 다음 in 절을 입력하고 Table.AddColumn 함수를 사용하여 중첩 테이블에 열을 추가합니다.

함수의 첫 번째 매개변수로 중첩 테이블이 포함된 이름 열을 입력합니다. 그런 다음 새 열의 이름을 Revenue로 지정합니다. each를 사용하여 각 행의 변수를 호출합니다.

중첩 식: 파워 쿼리 환경

Temp2 열에 있는 행의 셀 내부 공간을 클릭하면 외부 테이블에서 값을 검색한 것을 볼 수 있습니다.

중첩 식: 파워 쿼리 환경

또 다른 일반적인 시나리오는 공유 키가 없는 조회입니다. 이 시나리오에서는 2개의 샘플 테이블인 범주 테이블제품 테이블이 사용됩니다 .

중첩 식: 파워 쿼리 환경

중첩 식: 파워 쿼리 환경

범주 테이블을 스테이징 쿼리로 사용하여 제품 차원 테이블의 특성을 보완합니다. 공유 키가 없으므로 병합을 수행할 수 없습니다. 가장 먼저 해야 할 일은 사용자 정의 열 추가를 사용하여 제품 테이블 쿼리에 전체 범주 테이블을 중첩시키는 것입니다.

사용자 지정 열을 추가하고 범주를 열 이름으로 작성합니다. 그런 다음 사용자 지정 수식에서 범주 쿼리를 호출합니다.

중첩 식: 파워 쿼리 환경

그런 다음 이제 제품 테이블의 각 행에 전체 범주 테이블을 중첩했습니다.

중첩 식: 파워 쿼리 환경

Category 열에서 행의 셀 내부 공간을 클릭하면 각 행에서 전체 범주 테이블을 볼 수 있습니다.

중첩 식: 파워 쿼리 환경

단일 값 검색

단일 값만 검색하려는 경우 제품의 문자열 일부가 범주 테이블의 제품 그룹과 일치하는 단일 행으로 범주 테이블을 필터링해야 합니다.

Applied Steps 창에서 Added Custom 옆에 있는 기어 버튼을 눌러 Custom Column 대화 상자를 엽니다.

중첩 식: 파워 쿼리 환경

수식에서 Table.SelectRows 함수를 추가합니다. 첫 번째 매개변수로는 Category 테이블이 사용됩니다. 두 번째 매개변수는 Text.Contains 함수를 조건으로 사용했습니다. 내부 테이블의 경우 이 함수는 외부 테이블에 있는 제품 문자열의 일부가 텍스트에 포함되어 있는지 확인합니다.

중첩 식: 파워 쿼리 환경

외부 테이블에 액세스하면 파워 쿼리가 수식 입력줄 안에 키워드를 추가하는 것을 볼 수 있습니다 . 밑줄( _ )을 이름 없는 변수로 사용하는 단항 함수입니다. 그러나 열에 액세스만 하는 것이므로 생략할 수 있습니다.

중첩 식: 파워 쿼리 환경

범주 열에 있는 행의 셀 내부 공간을 클릭하면 중첩된 각 테이블에 단일 행이 표시됩니다.

중첩 식: 파워 쿼리 환경

거기에서 행 및 필드 액세스 연산자의 조합을 사용하여 범주에 대한 값을 추출할 수 있습니다.

사용자 지정 열 대화 상자로 돌아가서 수식에 연산자를 추가합니다. 테이블의 첫 번째 행을 가져오려면 중괄호 안에 0을 입력합니다. 그런 다음 일련의 대괄호 안에 Category 필드 이름을 나열합니다.

중첩 식: 파워 쿼리 환경

솔루션의 미래를 보장하기 위해 끝에 물음표( ? )를 추가하여 오류를 null로 반환하는 찾을 수 없는 동작을 변경할 수 있습니다.


LuckyTemplates
M 언어 및 LuckyTemplates의 Power Query 편집기 에서 쿼리 편집기가 작동하는 방식

결론

환경 및 중첩된 표현식은 쿼리가 코드에서 특정 값을 가져와 원하는 결과를 제공하는 데 도움이 됩니다. 함수를 작성할 때 함수를 이해하는 것이 중요합니다 . 함수를 이해하면 더 복잡하고 복잡한 시나리오를 해결할 수 있기 때문입니다.

여자 이름


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것