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步的表的横向连接、汇总函数和非关联子查询。
|