概述
在这个用例场景中,您有:
一个交易数据集,其具有:
一个货币表:
第二个交易数据集,其具有:
您将按顺序加载五个脚本。
第一个加载脚本包含一个初始数据集,其中包含发送到名为 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 表上。