问题描述
- 我有映射表
mapping_table
与列:折扣率值基于tot_bill
上的 prod_catg 按帐号为 3 个不同的产品类别 面向消费者和企业群体。 - 我有一个交易表
txn
,每个月的 1 天(例如 txn_date:2019-01-01)有多个 acc_no 的月度交易。 - 表
txn
包含txn_date
、acc_no
、prod_catg
、card_grp
和tot_bill(in $)
列,如下表所示,带有虚拟值。
我需要一个 Hive 查询来计算每个 acc_no 每月在 total_disc_amount
级别的 card_no
明智的 card_catg
年范围内的 product_hieracy
:prod_serv_name as {{1 }} 为 2020-01-01 至 2020-12-31,prod_serv_name 为 x
为白金类别和年份 2018-01-01 至 2018-12-31。
在 prod_catg 上的 hive 中的日期范围内加入表,并获取 disc_rate 值以计算每月 acc_no 级别的 tot_disc_bill (tot_bill*disc_rate)。
txn_date | card_no | prod_catg | card_grp | tot_bill |
---|---|---|---|---|
2019-01-01 | 201 | 白金 | 消费者 | 900 |
2019-02-01 | 201 | 白金 | 消费者 | 500 |
2019-03-01 | 201 | 白金 | 消费者 | 300 |
2020-02-01 | 201 | 白金 | 消费者 | 400 |
2020-03-01 | 201 | 白金 | 消费者 | 800 |
2020-03-01 | 202 | 金色 | 商务 | 700 |
2020-01-01 | 203 | 金色 | 商务 | 900 |
2018-10-01 | 204 | 金色 | 商务 | 900 |
2018-09-01 | 205 | 白金 | 商务 | 100 |
2018-03-01 | 206 | 青铜色 | 商务 | 200 |
prod_serv_name | prod_catg | card_grp | disc_rate | start_date | end_date |
---|---|---|---|---|---|
x | 白金 | 消费者 | 2.5 | 2020-01-01 | 2020-12-31 |
x | 金色 | 消费者 | 2.5 | 2020-01-01 | 2020-12-31 |
x | 青铜色 | 消费者 | 2.5 | 2020-01-01 | 2020-12-31 |
x | 白金 | 消费者 | 2.5 | 2019-01-01 | 2019-12-31 |
x | 金色 | 消费者 | 3 | 2019-01-01 | 2019-12-31 |
x | 青铜色 | 消费者 | 3 | 2019-01-01 | 2019-12-31 |
x | 金色 | 商务 | 3 | 2020-01-01 | 2020-12-31 |
y | 金色 | 商务 | 3 | 2018-01-01 | 2018-12-31 |
y | 白金 | 商务 | 3 | 2018-01-01 | 2018-12-31 |
y | 青铜色 | 商务 | 3 | 2018-01-01 | 2018-12-31 |
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)