概述
在这个用例场景中,您有:
一个交易数据集,其具有:
一个货币表:
第二个交易数据集,其具有:
您将按顺序加载五个脚本。
第一个加载脚本包含一个初始数据集,其中包含发送到名为 Transactions 的表的日期和金额 (GBP)。
第二个加载脚本包含:
第三个加载脚本包含 join 前缀,用于在 Transactions_in_USD 表中创建 GBP 和 USD 之间的货币汇率。
第四个加载脚本包含将 Transactions_in_USD 添加到初始 Transactions 表的 concatenate 前缀。
第五个加载脚本包含 drop table 语句,该语句将删除其数据已串联到 Transactions 表的表 Transactions_in_USD。
第一个加载脚本
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 | 日期 | 金额 |
---|
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 | 日期 | 金额 |
---|
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。
第四个加载脚本
使用常驻加载,此加载脚本将在将金额转换为 USD 后将 Transactions_in_USD 表格串联到 Transactions 表格。
Concatenate (Transactions)
LOAD
id,
date,
amount * rate as amount
Resident Transactions_in_USD;
结果
加载数据并转到表。您将看到第八行至第十四行以 GBP 为单位的新条目。
第四个加载脚本结果id | 日期 | 金额 |
---|
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 | 日期 | 金额 |
---|
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 |
加载第五个加载脚本后,结果表显示了两个事务数据集中存在的所有十四个事务;然而,交易 8-14 的金额已转换为 GBP。
如果我们在第二个加载脚本中删除在 Transactions_in_USD之前使用的 NoConcatenate 前缀,脚本将失败,并显示错误:“找不到表 'Transactions_in_USD' ”。这是因为 Transactions_in_USD 表将自动串联到原始 Transactions 表上。