개요
이 사용 사례 시나리오에는 다음이 있습니다.
5개의 스크립트를 순차적으로 로드합니다.
첫 번째 로드 스크립트에는 Transactions라는 테이블로 전송되는 GBP 단위의 날짜와 금액이 포함된 초기 데이터 집합이 포함되어 있습니다.
두 번째 로드 스크립트에는 다음이 포함됩니다.
Transactions_in_USD라는 테이블로 전송되는, 날짜와 금액(USD)이 있는 두 번째 데이터 집합.
암시적 연결을 방지하기 위해 Transactions_in_USD 데이터 집합의 LOAD 문 앞에 배치되는 noconcatenate 접두사.
세 번째 로드 스크립트에는 Transactions_in_USD 테이블에서 GBP와 USD 간의 통화 환율을 만드는 데 사용할 join 접두사가 포함되어 있습니다.
네 번째 로드 스크립트에는 초기 Transactions 테이블에 Transactions_in_USD를 추가할 concatenate 접두사가 포함되어 있습니다.
다섯 번째 로드 스크립트에는 데이터가 Transactions 테이블에 연결된 Transactions_in_USD 테이블을 제거하는 drop table 문이 포함되어 있습니다.
첫 번째 로드 스크립트
Transactions:
Load * Inline [
id, date, amount
1, 12/30/2018, 23.56
2, 12/07/2018, 556.31
3, 12/16/2018, 5.75
4, 12/22/2018, 125.00
5, 12/22/2018, 484.21
6, 12/22/2018, 59.18
7, 12/23/2018, 177.42
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
첫 번째 로드 스크립트 결과id | date | amount |
---|
1 | 12/30/2018 | 23.56 |
2 | 12/07/2018 | 556.31 |
3 | 12/16/2018 | 5.75 |
4 | 12/22/2018 | 125.00 |
5 | 12/22/2018 | 484.21 |
6 | 12/22/2018 | 59.18 |
7 | 12/23/2018 | 177.42 |
테이블에서 금액(GBP)이 있는 초기 데이터 집합을 보여 줍니다.
두 번째 로드 스크립트
Transactions_in_USD:
NoConcatenate
Load * Inline [
id, date, amount
8, 01/01/2019, 164.27
9, 01/03/2019, 384.00
10, 01/06/2019, 25.82
11, 01/09/2019, 312.00
12, 01/15/2019, 4.56
13, 01/16/2019, 90.24
14, 01/18/2019, 19.32
];
결과
데이터를 로드하고 테이블로 이동합니다.
두 번째 로드 스크립트 결과id | date | amount |
---|
1 | 12/30/2018 | 23.56 |
2 | 12/07/2018 | 556.31 |
3 | 12/16/2018 | 5.75 |
4 | 12/22/2018 | 125.00 |
5 | 12/22/2018 | 484.21 |
6 | 12/22/2018 | 59.18 |
7 | 12/23/2018 | 177.42 |
8 | 01/01/2019 | 164.27 |
9 | 01/03/2019 | 384.00 |
10 | 01/06/2019 | 25.82 |
11 | 01/09/2019 | 312.00 |
12 | 01/15/2019 | 4.56 |
13 | 01/16/2019 | 90.24 |
14 | 01/18/2019 | 19.32 |
Transactions_in_USD 테이블의 두 번째 데이터 집합이 추가된 것을 볼 수 있습니다.
세 번째 로드 스크립트
이 로드 스크립트는 USD에서 GBP로의 환율을 Transactions_in_USD 테이블에 조인합니다.
Join (Transactions_in_USD)
Load * Inline [
rate
0.7
];
결과
데이터를 로드하고 데이터 모델 뷰어로 이동합니다. Transactions_in_USD 테이블을 선택하면 모든 기존 레코드에 0.7의 'rate' 필드 값이 있음을 알 수 있습니다.
네 번째 로드 스크립트
Resident LOAD를 사용하여 이 로드 스크립트는 금액을 USD로 변환한 후 Transactions_in_USD 테이블을 Transactions 테이블에 연결합니다.
Concatenate (Transactions)
LOAD
id,
date,
amount * rate as amount
Resident Transactions_in_USD;
결과
데이터를 로드하고 테이블로 이동합니다. 8행에서 14행까지 금액(GBP)이 포함된 새 항목이 표시됩니다.
네 번째 로드 스크립트 결과id | date | amount |
---|
1 | 12/30/2018 | 23.56 |
2 | 12/07/2018 | 556.31 |
3 | 12/16/2018 | 5.75 |
4 | 12/22/2018 | 125.00 |
5 | 12/22/2018 | 484.21 |
6 | 12/22/2018 | 59.18 |
7 | 12/23/2018 | 177.42 |
8 | 01/01/2019 | 114.989 |
8 | 01/01/2019 | 164.27 |
9 | 01/03/2019 | 268.80 |
9 | 01/03/2019 | 384.00 |
10 | 01/06/2019 | 18.074 |
10 | 01/06/2019 | 25.82 |
11 | 01/09/2019 | 218.40 |
11 | 01/09/2019 | 312.00 |
12 | 01/15/2019 | 3.192 |
12 | 01/15/2019 | 4.56 |
13 | 01/16/2019 | 63.168 |
13 | 01/16/2019 | 90.24 |
14 | 01/18/2019 | 13.524 |
14 | 01/18/2019 | 19.32 |
다섯 번째 로드 스크립트
이 로드 스크립트는 네 번째 로드 스크립트 결과 테이블에서 중복 항목을 삭제하고 금액이 GBP인 항목만 남깁니다.
drop tables Transactions_in_USD;
결과
데이터를 로드하고 테이블로 이동합니다.
다섯 번째 로드 스크립트 결과id | date | amount |
---|
1 | 12/30/2018 | 23.56 |
2 | 12/07/2018 | 556.31 |
3 | 12/16/2018 | 5.75 |
4 | 12/22/2018 | 125.00 |
5 | 12/22/2018 | 484.21 |
6 | 12/22/2018 | 59.18 |
7 | 12/23/2018 | 177.42 |
8 | 01/01/2019 | 114.989 |
9 | 01/03/2019 | 268.80 |
10 | 01/06/2019 | 18.074 |
11 | 01/09/2019 | 218.40 |
12 | 01/15/2019 | 3.192 |
13 | 01/16/2019 | 63.168 |
14 | 01/18/2019 | 13.524 |
다섯 번째 로드 스크립트를 로드한 후 결과 테이블에는 두 트랜잭션 데이터 집합에 있는 14개의 트랜잭션이 모두 표시됩니다. 그러나 트랜잭션 8-14의 금액은 GBP로 변환되었습니다.
두 번째 로드 스크립트에서 Transactions_in_USD 앞에 사용된 NoConcatenate 접두사를 제거하면 “테이블 'Transactions_in_USD'를 찾을 수 없음” 오류와 함께 스크립트가 실패합니다. 이는 Transactions_in_USD 테이블이 원본 Transactions 테이블에 자동으로 연결되었기 때문입니다.