90年代後半までさかのぼるローンレベルのデータを含む表から、月ごとのローンの組成を要約しようとしています。毎月、最新のローンレベルのデータがテーブルに追加されます。month_keyフィールドは、最新のレコードを識別するために使用されます。ローンの開始日を月ごとにグループ化し、個々の月に開始されたローンコミットメントの合計を合計したいと思います。添付の表は、クエリでデータを要約する方法を示しています。以下のコードは、これまでに作成したものです。90年代にさかのぼる月ごとに要約されたデータを出力します。助けてくれてありがとう。
編集:JMBのソリューションは機能しました。month_keyフィールドを再度追加し、記録されている最新の月を並べ替えて、元のローン残高を合計すると、必要な出力を受け取りました。
select SUM(INDIVIDUAL_LOAN_BALANCE) AS MONTHLY_LOAN_ORIGINATIONS, ltrim(TO_CHAR(ORIG_OBGN_DATE,'mm-yyyy'), '0') AS ORIG_MONTH
FROM LOAN_TABLE
WHERE MONTH_KEY = 202002
group by ltrim(TO_CHAR(ORIG_OBGN_DATE,'mm-yyyy'), '0')
HAVING ltrim(TO_CHAR(ORIG_OBGN_DATE,'mm-yyyy'), '0') >= '12-2018'
ORDER BY ltrim(TO_CHAR(ORIG_OBGN_DATE,'mm-yyyy'), '0') DESC
クエリでデータを表現する方法の例:
クエリが現在データを出力する方法
日付データ型を利用してフィルタリング、集計、並べ替えを行うことをお勧めします。これによりwhere
、作業がはるかに簡単かつ安全になります(通常、句は文字列を比較し、期待どおりには機能しません)。select
句でフォーマットを処理できます。
select
sum(individual_loan_balance) as monthly_loan_originations,
ltrim(to_char(trunc(orig_obgn_date, 'mm'),'mm-yyyy'), '0') as orig_month
from loan_table
where orig_obgn_date >= date'2018-01-01'
group by trunc(orig_obgn_date, 'mm')
order by trunc(orig_obgn_date, 'mm')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加