kettle 行轉(zhuǎn)列 與 列轉(zhuǎn)行

橫表與豎表

橫表
豎表

上面兩張圖是同樣數(shù)據(jù)的兩種存儲方法,1為橫表,2為豎表

容易看出,豎表中的 subject 字段非常重要,這一列的數(shù)據(jù)去重后為 chinese, math, english ,即橫表中的三個字段名,在kettle的行列互轉(zhuǎn)中,這個 subject 字段被稱為 Key字段(關(guān)鍵字段)

行轉(zhuǎn)列

將橫表轉(zhuǎn)為豎表即為kettle的行轉(zhuǎn)列,其核心為橫表的chinese, math, english字段轉(zhuǎn)為了豎表的subject的值,將橫表chinese, math, english的數(shù)據(jù)轉(zhuǎn)為了豎表的grade的值

整體轉(zhuǎn)換

  • 兩個對象

表輸入

  • 讀取student表,下方視圖中可看到當(dāng)前的數(shù)據(jù)
  • 行轉(zhuǎn)列操作無需排序

行轉(zhuǎn)列

  • Key字段(起個名即可):即Key字段(關(guān)鍵字段)subject,行轉(zhuǎn)列操作后,chinese, math, english三個字段會變成一個新的字段的值,Key字段就是為這個新字段起個名稱
  • 字段名稱:填寫橫表需要行轉(zhuǎn)列的字段,在這寫的字段會從原來的字段名轉(zhuǎn)變?yōu)橐涣袛?shù)據(jù),這列數(shù)據(jù)的列名為上面設(shè)置的Key字段名。
  • Key值(不重要,一般與字段名稱一致即可):轉(zhuǎn)為列之后更改字段名稱
  • Value字段(不重要,起個名即可):行轉(zhuǎn)列的那些字段之前是有很多數(shù)據(jù)的,給這些數(shù)據(jù)起個名字,名字都一致即可,多了也沒用
  • 另外,kettle的行轉(zhuǎn)列對象有個bug,在對象窗口的左上角寫的可能是列轉(zhuǎn)行,無視就好

列轉(zhuǎn)行

將豎表轉(zhuǎn)為橫表即為kettle的列轉(zhuǎn)行,其核心為豎表的Key字段(關(guān)鍵字段)的數(shù)據(jù)聚合后成為橫表的字段名,即subject的chinese, math, english,本例中聚合字段為subject, studentID

表輸入

  • 讀取student表
  • 所有聚合字段必須先排序

列轉(zhuǎn)行

  • 關(guān)鍵字段:即關(guān)鍵字段subject,列轉(zhuǎn)行的核心字段,此字段會進(jìn)行聚合操作,聚合結(jié)果作為之后橫表的新字段名
  • 分組字段:關(guān)鍵字段的數(shù)據(jù)(chinese, math, english)有重復(fù),它的重復(fù)是有規(guī)律的,即每增加一個學(xué)生(studentID),其數(shù)據(jù)一般就會重復(fù)一次,其中決定它重復(fù)的字段studentID就是分組字段。此項(xiàng)可以為空,如果為空,那么轉(zhuǎn)換前有多少行數(shù)據(jù),轉(zhuǎn)換后就有多少個字段(差不多)。
  • 目標(biāo)字段:關(guān)鍵字段的數(shù)據(jù)去重后(chinese, math, english)變成字段名,給這些字段名起個別名,一般與關(guān)鍵字值一致即可
  • 數(shù)據(jù)字段:在豎表中,有一個與關(guān)鍵字段一一對應(yīng)的數(shù)據(jù)字段,它的字段名填在這,本例中為grade
  • 關(guān)鍵字值:關(guān)鍵字段的數(shù)據(jù)去重后(chinese, math, english)即為關(guān)鍵字值
  • 聚合:列轉(zhuǎn)行核心是對關(guān)鍵字段的聚合操作,除關(guān)鍵字段與分組字段之外,其他字段的聚合方式在這里選擇,比如本例選擇的最大值,id和name就會在聚合后取最大的一個值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.數(shù)據(jù)庫 1.創(chuàng)建數(shù)據(jù)庫create database [if not exists] db_name [cha...
    PASSssss閱讀 717評論 0 0
  • 一、sql語句 ~~sql語句書寫順序: select from where groupby having ord...
    devstrongzhao閱讀 2,182評論 1 2
  • 一、數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫DataBase【DB】,指的是長期保存到計(jì)算機(jī)上的數(shù)據(jù),按照一定順序組織,可以被各種用戶或...
    EndEvent閱讀 2,084評論 2 3
  • 一、數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫DataBase【DB】,指的是長期保存到計(jì)算機(jī)上的數(shù)據(jù),按照一定順序組織,可以被各種用戶或...
    fly5閱讀 439評論 0 0
  • 一、數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫DataBase【DB】,指的是長期保存到計(jì)算機(jī)上的數(shù)據(jù),按照一定順序組織,可以被各種用戶或...
    未央_m閱讀 320評論 0 0

友情鏈接更多精彩內(nèi)容