<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SQL中的LEAD函數(shù),在數(shù)據(jù)分析中有什么作用?

          共 3700字,需瀏覽 8分鐘

           ·

          2020-07-31 16:07

          點(diǎn)擊關(guān)注上方“SQL數(shù)據(jù)庫開發(fā)”,

          設(shè)為“置頂或星標(biāo)”,第一時(shí)間送達(dá)干貨

          本文系粉絲投稿,歡迎有寫技術(shù)文章的小伙伴投稿


          Vintage分析

          ? ? ? Vintage分析用到信貸資產(chǎn)行業(yè),指的是每個(gè)月貸款的資產(chǎn)質(zhì)量情況,要直接跟每個(gè)相同時(shí)間段內(nèi)的余額做比較。注意這里比較有個(gè)前提,就是比較的事物應(yīng)該是位于同一層面上的,不能將不同賬齡的放款質(zhì)量進(jìn)行對比,要按賬齡(month of book,MOB)的長短同步對比,從而了解同一產(chǎn)品不同時(shí)期放款的資產(chǎn)質(zhì)量情況。Vintage分析方法能很好地解決時(shí)滯性問題,其核心思想是對不同時(shí)期的開戶的資產(chǎn)進(jìn)行分別跟蹤,按照賬齡的長短進(jìn)行同步對比,從而了解不同時(shí)期發(fā)行信用卡的資產(chǎn)質(zhì)量情況。


          需求描述

          ? ? ? ? Vintage分析目前被廣泛應(yīng)用于信用卡產(chǎn)業(yè)。舉例說明根據(jù)賬齡所做的拖欠二周期賬戶的Vintage分析,原始數(shù)據(jù)見表1:


          第一行數(shù)據(jù)意思是:數(shù)據(jù)2.12%為2018年4月所發(fā)信用卡在2018年7月時(shí)拖欠二周期的金額除以該批信用卡在2018年7月時(shí)透支余額,依此類推,得到全表的數(shù)據(jù)。在此基礎(chǔ)上,按照賬齡為經(jīng)營時(shí)間減去發(fā)卡時(shí)間進(jìn)行表間數(shù)據(jù)的轉(zhuǎn)換,得到MOB,得到表2:


          通過vintage報(bào)表,可以看出,不同月份的發(fā)卡賬戶的同一mob下的拖欠率的變化情況。

          這里我們的需求是:怎么將表1格式的數(shù)據(jù)轉(zhuǎn)換成表2格式的數(shù)據(jù)?


          需求實(shí)現(xiàn)

          插入數(shù)據(jù)

          ? ? ?同樣這里假定已經(jīng)存在表WN_table,含有date_faka、date_mob、overduerate這3個(gè)字段:

          insert?into?WN_table values('2018-04', '2018-07', '2.12');
          insert?into?WN_table values('2018-04', '2018-08', '2.19');
          insert?into?WN_table values('2018-04', '2018-09', '3.1 ');
          insert?into?WN_table values('2018-04', '2018-10', '2.58');
          insert?into?WN_table values('2018-04', '2018-11', '2.65');
          insert?into?WN_table values('2018-04', '2018-12', '2.84');
          insert?into?WN_table values('2018-05', '2018-08', '2.47');
          insert?into?WN_table values('2018-05', '2018-09', '2.52');
          insert?into?WN_table values('2018-05', '2018-10', '2.53');
          insert?into?WN_table values('2018-05', '2018-11', '2.52');
          insert?into?WN_table values('2018-05', '2018-12', '2.49');
          insert?into?WN_table values('2018-06', '2018-09', '1.63');
          insert?into?WN_table values('2018-06', '2018-10', '1.88');
          insert?into?WN_table values('2018-06', '2018-11', '1.87');
          insert?into?WN_table values('2018-06', '2018-12', '2.1 ');
          insert?into?WN_table values('2018-07', '2018-10', '3.32');
          insert?into?WN_table values('2018-07', '2018-11', '3.88');
          insert?into?WN_table values('2018-07', '2018-12', '3.46');
          insert?into?WN_table values('2018-08', '2018-11', '2.37');
          insert?into?WN_table values('2018-08', '2018-12', '1.46');
          insert?into?WN_table values('2018-09', '2018-12', '2.51');

          (提示:可以左右滑動代碼)


          Vintage報(bào)表

          這里我們?nèi)匀皇褂肔EAD窗口函數(shù)實(shí)現(xiàn)我們的需求:

          如果對LEAD函數(shù)使用有疑問的朋友,可以先閱讀LEAD函數(shù)的具體介紹:

          SQL Server中的LAG函數(shù)與LEAD函數(shù)介紹


          select
          date_faka, M3,M4, M5, M6, M7, M8
          from
          (
          select?date_faka, overduerate M3,
          lead(overduerate,1) over(partition?by?date_faka order?by?date_mob) M4,
          lead(overduerate,2) over(partition?by?date_faka order?by?date_mob) M5,
          lead(overduerate,3) over(partition?by?date_faka order?by?date_mob) M6,
          lead(overduerate,4) over(partition?by?date_faka order?by?date_mob) M7,
          lead(overduerate,5) over(partition?by?date_faka order?by?date_mob) M8,
          row_number() over(partition?by?date_faka order?by?date_mob) row_num
          from?WN_table
          ) t
          where?row_num = 1


          ?得到vintage報(bào)表:


          當(dāng)然,也可以不將NULL呈現(xiàn)出來:


          select
          date_faka,
          case?when?M3 is?null?then?''?else?M3 end?M3,
          case?when?M4 is?null?then?''?else?M3 end?M4,
          case?when?M5 is?null?then?''?else?M3 end?M5,
          case?when?M6 is?null?then?''?else?M3 end?M6,
          case?when?M7 is?null?then?''?else?M3 end?M7,
          case?when?M8 is?null?then?''?else?M3 end?M8
          from
          (
          select?date_faka, overduerate M3,
          lead(overduerate,1) over(partition?by?date_faka order?by?date_mob) M4,
          lead(overduerate,2) over(partition?by?date_faka order?by?date_mob) M5,
          lead(overduerate,3) over(partition?by?date_faka order?by?date_mob) M6,
          lead(overduerate,4) over(partition?by?date_faka order?by?date_mob) M7,
          lead(overduerate,5) over(partition?by?date_faka order?by?date_mob) M8,
          row_number() over(partition?by?date_faka order?by?date_mob) row_num
          from?WN_table
          ) t
          where?row_num = 1





          總結(jié)

          這里我們使用窗口函數(shù)制作了vintage報(bào)表,也可以使用相同的代碼制作客戶留存率等,例如商城不同月份注冊客戶在不同mob下的留存率等。

          ——End——

          后臺回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
          后臺回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。
          推薦閱讀

          這是一個(gè)能學(xué)到技術(shù)的公眾號,歡迎關(guān)注
          點(diǎn)擊「閱讀原文」了解SQL訓(xùn)練營

          瀏覽 91
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  水蜜桃亚洲精品 | 六月婷婷综合激情无码 | 91视频网站福利 | 影音先锋成人资源在线 | 天天撸天天撸 |