컴퓨터활용(컴활) 공부

[데이터베이스] 컴활 1급 실기 문제 풀어보자 (크로스탭)

미스털이 사용자 2024. 2. 12. 11:06
반응형

 

(문제 출처 : https://blog.naver.com/hellstudy/223302615932 )

 

​​​​액세스 컴활 실기문제를 계속해서 풀어보자.

 

===

 

크로스탭 만들기

 

 

===

 

먼저 기본적인 설정부터 확인해보자

 

 

 

[만들기]->[쿼리디자인] 실행

 

문제에서 요구하는 테이블 추가

 

그리고 [디자인]->[크로스탭] 실행

 

이때 행과 열을 파악

1) 국내산/수입산으로 나뉘는 열 -> 원산지에서 '한국', 그 이외의 것

1-1) "열 머리글"에 종속된 속성 = = 씨앗입고.입고수량의 합계

2) 입고월로 구분되는 행 -> 입고월 -> 입고일자의 "월"

3) "행 머리글"에 종속된 입고품종수 -> 씨앗코드의 개수

 

완성된 필드는 다음과 같다.

 

1) 입고월 : Month(입고일자)

2) 입고품종수 : 씨앗코드

- 여기서 요약과 크로스탭 설정을 눈여겨보자.

- 크로스탭은 행에 따라 구분되므로 행머리글

- 요약은 씨앗코드의 개수로 나타난다.

- 만약 이때 개수라 하지 않고 "합계"라고 하면 문자열을 합할 수 없으므

"조건식의 데이터형식이 일치하지않습니다" 에러 문구 나온다.

 

3) IIF는 엑셀의 IF와 같다.

3-1) 이때 열 머리글에 나타난 숫자를 결정하는 것이

크로스탭의 "값" 속성이다.

[씨앗입고.입고수량]의 합계를 써줘야만 각 열 머리글에 있는 수치가 입고수량 합계가 나온다.

 

 

쿼리식

TRANSFORM 
       Sum(씨앗입고.입고수량) AS 입고수량의합계
SELECT 
       Month([입고일자]) AS 입고월, 
       Count(씨앗.씨앗코드) AS 입고품종수
FROM 
       씨앗 
INNER JOIN 
       씨앗입고 
       ON 
              씨앗.씨앗코드 = 씨앗입고.씨앗코드
GROUP BY 
       Month([입고일자])
PIVOT 
       IIf([씨앗.원산지]="한국","국내산","수입산");
 
 

 

행머리글은 계속 추가해서 그 그룹(기준)에 의해 종속해서 나타낼 수 있다.

열머리글의 각 데이터 수치는 "값"의 속성이 좌우한다.

 

반응형