본문 바로가기

Power Query

파워쿼리 구성요소 레코드(Record)에 대해서

레코드라고 하면 표형태의 구조에서 열 즉 칸에 해당 하는 것을 필드라고 명명하고 줄 즉, 행에 해당하는 개념을 레코드라고 합니다. 이러한 레코드의 개념과 파워쿼리에서 레코드의 개념은 다르지 않습니다. 좀 더 복잡한 개념으로 정의를 하게 되면 다음과 같습니다.

정의된 필드의 집합을 하나의 단위로 묶어 그룹화 한 개념이 바로 레코드 입니다.

, 열에 해당하는 여러 열들의 집합이 바로 레코드 입니다. 열은 첫번째 두번째와 같이 순서로도 구분 할 수 있지만 기본적으로 열 이름이 있는 경우에는 순서는 무의미 해지게 됩니다. 열 이름이 열을 구분짓는 요소로 작동되기 때문이죠. 이말은 결국 순서를 가질수 있지만, 그 순서만이 절대적 위치를 가르키는 요소는 아니라는 것 입니다.

말이 되지 않는 것 같지만, 순서를 존재 하지만, 순서의 의미는 없을 수 있습니다.

무슨 말인지 이해 되시죠?

레코드는 파워쿼리에서 [ ] 기호로 표시가 됩니다. 기술적인 표현 방식은 다음과 같습니다.

[ 이름 = “런닝맨”, 주소 =”서울 광화문”, 연락처 = “723-1234” ]

기술적으로 레코드는 필드() 순서를 유지 합니다. 그러나 필드 순서는 고려되지 않을 수도 있습니다. 왜냐하면 필드명으로도 그 존재의 가치를 확인 받을 수 있기 때문입니다. 이 말은 리스트의 논리 연산과 처럼 레코드도 논리 연산이 적용되는데 이때 순서에 제약을 받지 않는 다는 것 입니다. 다음에서 그 내용을 확인 해 보 실 수 있습니다.

 

[ a= 1, b= 2] = [a=1,b=2]  => true

[a=1,b=2] =[ b=2,aa=1]  => true

리스트와 마찬가지로 & 연산 적용이 가능합니다. 이미 리스트의 내용을 보신분들은 리스트와 똑같은 연산이 적용된다고 생각 하시면 됩니다.

그럼 레코드 필드를 접근하는 방법도 리스트와 비슷하다는 것을 아실 수 있으시겠지요?

목록의 인덱스를 사용하여 레코드의 필드를 접근 할 수 있습니다. 리스트에서는 인덱스 번호 였지만 레코드의 인덱스는 필드명이 되게 되는 것이 차이 입니다.

레코드명 [ 필드명 ]

Value =[ 이름 =”런닝맨”, 주소=” 서울 광화문”, 연락처=”723-1234” ]

Value [ 이름 ]  => 런닝맨을 의미 하게 됩니다.