PROC SQL过程和转置试题
[背景介绍]
该数据取自银行系统的贷款表和交易流水表,字段说明如下:
贷款表(Loans):
每条记录代表某个账户的上的一条贷款信息,条数:682
| 贷款表(Loans) |
| 名称 | 标签 | 说明 |
| disp_id | 权限号 |
|
| loan_id | 贷款号 | (主键) |
| account_id | 账户号 |
|
| date | 发放贷款日期 | |
| amount | 贷款金额 |
|
| duration | 贷款期限 |
|
| payments | 每月归还额 |
|
| status | 还款状态 | A代表合同终止,没问题;B代表合同终止,贷款没有支付;C代表合同处于执行期,至今正常;D代表合同处于执行期,欠债状态。 |
交易表 (Trans):
每条记录代表每个账户上的一条交易,条数:1056320
| 交易表 (Trans) |
| 名称 | 标签 |
| trans_id | 交易序号(主键) |
| account_id | 发起交易的账户号 |
| date | 交易日期 |
| type | 借贷类型 |
| operation | 交易类型 |
| amount | 金额 |
| balance | 账户余额 |
| K_Symbol | 交易特征 |
| bank | 对方银行 |
| account | 对方账户号 |
两张表的连接关系如下:

[题目要求]
根据上文提供的材料,获取每个贷款账号贷款发放前的帐户余额(即贷款前最后一次交易的帐户余额),如果贷款前最后有交易的一天有多笔交易,则取帐户余额的均值。表的效果如下:
使用一条SQL语句得到完全一致的结果和展示效果,需要给变量加标签。

说明:
1)展现的变量分别是loan_id(来自贷款loan表的loan_id),date(来自贷款loan表的date),tran_date(来自交易trans表的date),amount(来自贷款loan表的amount),avg_balance(来自交易trans表的balance);
2)每笔贷款有一条记录,没有贷款则没有记录
3)使用到了Proc SQL步的表的横向连接、汇总函数和非关联子查询。