如何在SQL中计算不是季末月份的两个月(三月、六月、九月、十二月)的WtdAvgBal,并将值追加到数据集中。
数据集:
| 日期|识别码|平均余额|周期|
| - -|- -|- -|- -|
| 2020年7月31日|一个|五十个|米|
| 2020年7月31日|2个|七十五人|米|
| 2020年7月31日|三个|五十个|米|
| 2020年7月31日|四个|五十个|米|
| 2020年7月31日|五个|五十个|米|
| 2020年8月31日|一个|五十五人|米|
| 2020年8月31日|2个|九十九|米|
| 2020年8月31日|三个|八十个|米|
| 2020年8月31日|四个|七十个|米|
| 2020年8月31日|五个|九十|米|
两个期间的总天数:62天(7月31天,8月31天)
WtdAvgBal的计算步骤是在excel中完成的。
1.创建一个新列以获取每行Bal * day值。
| 日期|识别码|余额|周期|余额x日|
| - -|- -|- -|- -|- -|
| 2020年7月31日|一个|五十个|米|小行星155|
1.将观察到的两个月的总天数相加。(例如,7月和8月为62天)
总天数:62
1.在AvgBal列中使用Excel的sumif公式计算WtdAvg,并将其应用于数据集中最近的月份。
=sumifs(@余额x日,@ID,ID)/ 62
平均余额输出输出:
| 日期|识别码|平均余额|周期|
| - -|- -|- -|- -|
| 2020年8月31日|一个|五十二点五|X轴|
| 2020年8月31日|2个|八十七人|X轴|
| 2020年8月31日|三个|六十五|X轴|
| 2020年8月31日|四个|六十个|X轴|
| 2020年8月31日|五个|七十个|X轴|
将新期间X追加到数据集中
最终输出:
| 日期|识别码|平均余额|周期|
| - -|- -|- -|- -|
| 2020年7月31日|一个|五十个|米|
| 2020年7月31日|2个|七十五人|米|
| 2020年7月31日|三个|五十个|米|
| 2020年7月31日|四个|五十个|米|
| 2020年7月31日|五个|五十个|米|
| 2020年8月31日|一个|五十五人|米|
| 2020年8月31日|2个|九十九|米|
| 2020年8月31日|三个|八十个|米|
| 2020年8月31日|四个|七十个|米|
| 2020年8月31日|五个|九十|米|
| 2020年8月31日|一个|五十二点五|X轴|
| 2020年8月31日|2个|八十七人|X轴|
| 2020年8月31日|三个|六十五|X轴|
| 2020年8月31日|四个|六十个|X轴|
| 2020年8月31日|五个|七十个|X轴|
1条答案
按热度按时间2hh7jdfx1#
下面的GROUP BY查询将为您提供所需的'X'值