需要在 hive 中的日期范围内加入两个表,以获得每月 acc_no 级别的 prod catg 交易的磁盘费率

问题描述

  • 我有映射表 mapping_table 与列:折扣率值基于 tot_bill 上的 prod_catg 按帐号为 3 个不同的产品类别 面向消费者和企业群体。
  • 我有一个交易表 txn,每个月的 1 天(例如 txn_date:2019-01-01)有多个 acc_no 的月度交易。
  • txn 包含 txn_dateacc_noprod_catgcard_grptot_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 (将#修改为@)