新聞中心
隨著數(shù)據(jù)量的不斷增加,越來(lái)越多的企業(yè)開(kāi)始依賴(lài)數(shù)據(jù)分析進(jìn)行業(yè)務(wù)決策,數(shù)據(jù)分析變得愈加重要。Teradata作為目前全球更大的面向企業(yè)級(jí)聯(lián)機(jī)分析處理平臺(tái),可以為企業(yè)提供可靠、可擴(kuò)展、高效的數(shù)據(jù)解決方案。在Teradata數(shù)據(jù)庫(kù)中,有一種行轉(zhuǎn)列函數(shù),能夠?qū)?shù)據(jù)表的行數(shù)據(jù)轉(zhuǎn)化為列數(shù)據(jù)進(jìn)行分析,這種函數(shù)的靈活性和高效性,可以為企業(yè)數(shù)據(jù)分析提供更便捷的解決方案。

行轉(zhuǎn)列的意義
在數(shù)據(jù)分析領(lǐng)域中,行數(shù)據(jù)和列數(shù)據(jù)代表著不同的數(shù)據(jù)類(lèi)型,具有不同的分析方法和應(yīng)用場(chǎng)景。在Teradata數(shù)據(jù)庫(kù)中,一般情況下,數(shù)據(jù)表中的數(shù)據(jù)存儲(chǔ)都是以行數(shù)據(jù)的形式存儲(chǔ)。但是,在實(shí)際業(yè)務(wù)中,需要對(duì)特定的數(shù)據(jù)展開(kāi)某一列進(jìn)行分析或計(jì)算。而此時(shí),行轉(zhuǎn)列函數(shù)就派上了用場(chǎng)。
行轉(zhuǎn)列函數(shù)的應(yīng)用場(chǎng)景
1.多條件的查詢(xún)
在實(shí)際業(yè)務(wù)中,很多時(shí)候需要對(duì)數(shù)據(jù)表中的多個(gè)條件進(jìn)行查詢(xún),而這些條件一般都是存儲(chǔ)在數(shù)據(jù)表的行數(shù)據(jù)中。如果采用傳統(tǒng)查詢(xún)方法,需要查找多次,就會(huì)造成系統(tǒng)性能的瓶頸。而行轉(zhuǎn)列函數(shù)則可以將多個(gè)條件按照某個(gè)列進(jìn)行轉(zhuǎn)化,形成一個(gè)新的表或?qū)傩?,這樣只需要完成一次查詢(xún)操作即可,大大提高了效率。
2.數(shù)據(jù)透視表中的寬表轉(zhuǎn)化
在處理數(shù)據(jù)透視表中的寬表時(shí),有時(shí)需要將某一列變?yōu)樾械男问?,這時(shí)候就可以使用行轉(zhuǎn)列函數(shù),將表格寬度縮小,加強(qiáng)觀察和分析。
3.處理半規(guī)范化數(shù)據(jù)
在實(shí)際業(yè)務(wù)中,很多數(shù)據(jù)是半規(guī)范化的,如果直接對(duì)其進(jìn)行分析,會(huì)導(dǎo)致數(shù)據(jù)冗余、重復(fù)等問(wèn)題,影響分析效果。行轉(zhuǎn)列函數(shù)則可以將這些數(shù)據(jù)進(jìn)行規(guī)范化處理,便于分析。
行轉(zhuǎn)列函數(shù)的用法示例
Teradata數(shù)據(jù)庫(kù)中提供了以下兩個(gè)行轉(zhuǎn)列的函數(shù):
1. COLLECT(列轉(zhuǎn)行)
COLLECT函數(shù)能夠?qū)⒁涣兄械臄?shù)值數(shù)據(jù)匯總起來(lái),生成一行數(shù)據(jù)。具體的語(yǔ)法如下:
COLLECT(expr [ORDER BY ordering_cols] [NULLS FIRST | LAST])
其中,expr表示需要匯總的列名;order by 標(biāo)識(shí)表示排序方式,可以不寫(xiě);Nulls First | Last標(biāo)識(shí)表示空值排在前面還是排在后面。
2. EXPAND(行轉(zhuǎn)列)
EXPAND函數(shù)能夠?qū)⑿袛?shù)據(jù)變化為列數(shù)據(jù)。具體的語(yǔ)法如下:
EXPAND ON expression USING tablefunction (expr)
其中,expression表示分組的標(biāo)識(shí),可以用于分組計(jì)算之類(lèi)的操作;tablefunction表示需要使用的處理函數(shù),可以是任何可以接受參數(shù)并返回結(jié)果表的函數(shù);expr表示需要處理的列名或表達(dá)式。
行轉(zhuǎn)列函數(shù)是Teradata數(shù)據(jù)庫(kù)中的一個(gè)重要工具,它能夠快速、高效地將行數(shù)據(jù)進(jìn)行轉(zhuǎn)化,變成列數(shù)據(jù)進(jìn)行分析。行轉(zhuǎn)列函數(shù)能夠在處理多條件查詢(xún)、數(shù)據(jù)透視表、半規(guī)范化數(shù)據(jù)等實(shí)際問(wèn)題時(shí)發(fā)揮重要的作用。熟練掌握行轉(zhuǎn)列函數(shù)的使用方法,能夠讓數(shù)據(jù)分析工作更加高效和便捷。
相關(guān)問(wèn)題拓展閱讀:
- 大數(shù)據(jù)分析工具有哪些,有什么特點(diǎn)?
- 萬(wàn)字詳解ETL和數(shù)倉(cāng)建模
大數(shù)據(jù)分析工具有哪些,有什么特點(diǎn)?
常用的數(shù)據(jù)分析工具有如下幾個(gè)
SAS
一般用法。SAS由于其功能強(qiáng)大而且可以編程,很受高級(jí)用戶的歡迎。也正是基于此,它是最難掌握的軟件之一。使用SAS時(shí),你需要編寫(xiě)SAS程序來(lái)處理數(shù)據(jù),進(jìn)行分析。如果在一個(gè)程序中出現(xiàn)一個(gè)錯(cuò)誤,找到并改正這個(gè)錯(cuò)誤將是困難的。
數(shù)據(jù)管理。在數(shù)據(jù)管理方面,SAS是非常強(qiáng)大的,能讓你用任何可能的方式來(lái)處理你的數(shù)據(jù)。它包含SQL(結(jié)構(gòu)化查詢(xún)語(yǔ)言)過(guò)程,可以在SAS數(shù)據(jù)集中使用SQL查詢(xún)。但是要學(xué)習(xí)并掌握SAS軟件的數(shù)據(jù)管理需要很長(zhǎng)的時(shí)間,在Stata或SPSS中,完成許多復(fù)雜數(shù)據(jù)管理工作所使用的命令要簡(jiǎn)單的多。然而,SAS可以同時(shí)處理多個(gè)數(shù)據(jù)文件,使這項(xiàng)工作變得容易。它可以處理的變量能夠達(dá)到32,768個(gè),以及你的硬盤(pán)空間所允許的更大數(shù)量的記錄條數(shù)。
統(tǒng)計(jì)分析。SAS能夠進(jìn)行大多數(shù)統(tǒng)計(jì)分析(回歸分析,logistic回歸,生存分析,方差分析,因子分析,多變量分析)。SAS的更優(yōu)之處可能在于它的方差分析,混合模型分析和多變量分析,而它的劣勢(shì)主要是有序和多元logistic回歸(因?yàn)檫@些命令很難),以及穩(wěn)健方法(它難以完成穩(wěn)健回歸和其他穩(wěn)健方法)。盡管支持調(diào)查數(shù)據(jù)的分析,但與Stata比較仍然是相當(dāng)有限的。
繪圖功能。在所有的統(tǒng)計(jì)軟件中,SAS有最強(qiáng)大的繪圖工具,由SAS/Graph模塊提供。然而,SAS/Graph模塊的學(xué)習(xí)也是非常專(zhuān)業(yè)而復(fù)雜,圖形的制作主要使用程序語(yǔ)言。SAS 8雖然可以通過(guò)點(diǎn)擊鼠標(biāo)來(lái)交互式的繪圖,但不象SPSS那樣簡(jiǎn)單。
總結(jié)。SAS適合高級(jí)用戶使用。它的學(xué)習(xí)過(guò)程是艱苦的,最初的階段會(huì)使人灰心喪氣。然而它還是以強(qiáng)大的數(shù)據(jù)管理和同時(shí)處理大批數(shù)據(jù)文件的功能,得到高級(jí)用戶的青睞。
Stata
一般用法。Stata以其簡(jiǎn)單易懂和功能強(qiáng)大受到初學(xué)者和高級(jí)用戶的普遍歡迎。使用時(shí)可以每次只輸入一個(gè)命令(適合初學(xué)者),也可以通過(guò)一個(gè)Stata程序一次輸入多個(gè)命令(適合高級(jí)用戶)。這樣的話,即使發(fā)生錯(cuò)誤,也較容易找出并加以修改。
數(shù)據(jù)管理。盡管Stata的數(shù)據(jù)管理能力沒(méi)有SAS那么強(qiáng)大,它仍然有很多功能較強(qiáng)且簡(jiǎn)單的數(shù)據(jù)管理命令,能夠讓復(fù)雜的操作變得容易。Stata主要用于每次對(duì)一個(gè)數(shù)據(jù)文件進(jìn)行操作,難以同時(shí)處理多個(gè)文件。隨著Stata/SE的推出,現(xiàn)在一個(gè)Stata數(shù)據(jù)文件中的變量可以達(dá)到32,768,但是當(dāng)一個(gè)數(shù)據(jù)文件超越計(jì)算機(jī)內(nèi)存所允許的范圍時(shí),你可能無(wú)法分析它。
統(tǒng)計(jì)分析。Stata也能夠進(jìn)行大多數(shù)統(tǒng)計(jì)分析(回歸分析,logistic回歸,生存分析,方差分析,因子分析,以及一些多變量分析)。Stata更大的優(yōu)勢(shì)可能在于回歸分析(它包含易于使用的回歸分析特征工具),logistic回歸(附加有解釋logistic回歸結(jié)果的程序,易用于有序和多元logistic回歸)。Stata也有一系列很好的穩(wěn)健方法,包括穩(wěn)健回歸,穩(wěn)健標(biāo)準(zhǔn)誤鄭緩配的回歸,以及其他包含穩(wěn)健標(biāo)準(zhǔn)誤估計(jì)的命令。此外,在調(diào)查數(shù)據(jù)分析領(lǐng)域,Stata有著明顯優(yōu)勢(shì),能提供回歸分析,logistic回歸,泊松回歸,概率回歸等的調(diào)查數(shù)據(jù)分析。它的不足之處在于方差分析和傳統(tǒng)的多變量方法(多變量方差分析,判別分析等)。
繪圖功能。正如SPSS,Stata能提供一些命令或鼠標(biāo)點(diǎn)擊的交互界面來(lái)繪圖。與SPSS不同的是它沒(méi)有圖形編輯器。在三種軟件中,它的繪圖命令的句法是最簡(jiǎn)單的,功能卻最強(qiáng)大。圖形質(zhì)量也很好,可以達(dá)到出版的要求。另外,這些圖形很好的發(fā)揮了補(bǔ)充統(tǒng)計(jì)分析的功能,例如,許多命令可以簡(jiǎn)化回歸判別過(guò)程中散點(diǎn)圖的制作。
總結(jié)。Stata較好地實(shí)現(xiàn)了使用簡(jiǎn)便和功能強(qiáng)大兩者的結(jié)合。盡管其簡(jiǎn)單易學(xué),它在數(shù)據(jù)管理和許多前沿統(tǒng)計(jì)方法中的喊指功能還是非常強(qiáng)大的。用戶可以很容易的下載到別人已有的哪模程序,也可以自己去編寫(xiě),并使之與Stata緊密結(jié)合。
SPSS
一般用法。SPSS非常容易使用,故最為初學(xué)者所接受。它有一個(gè)可以點(diǎn)擊的交互界面,能夠使用下拉菜單來(lái)選擇所需要執(zhí)行的命令。它也有一個(gè)通過(guò)拷貝和粘貼的方法來(lái)學(xué)習(xí)其“句法”語(yǔ)言,但是這些句法通常非常復(fù)雜而且不是很直觀。
數(shù)據(jù)管理。SPSS有一個(gè)類(lèi)似于Excel的界面友好的數(shù)據(jù)編輯器,可以用來(lái)輸入和定義數(shù)據(jù)(缺失值,數(shù)值標(biāo)簽等等)。它不是功能很強(qiáng)的數(shù)據(jù)管理工具(盡管SPS 11版增加了一些增大數(shù)據(jù)文件的命令,其效果有限)。SPSS也主要用于對(duì)一個(gè)文件進(jìn)行操作,難以勝任同時(shí)處理多個(gè)文件。它的數(shù)據(jù)文件有4096個(gè)變量,記錄的數(shù)量則是由你的磁盤(pán)空間來(lái)限定。
統(tǒng)計(jì)分析。SPSS也能夠進(jìn)行大多數(shù)統(tǒng)計(jì)分析(回歸分析,logistic回歸,生存分析,方差分析,因子分析,多變量分析)。它的優(yōu)勢(shì)在于方差分析(SPSS能完成多種特殊效應(yīng)的檢驗(yàn))和多變量分析(多元方差分析,因子分析,判別分析等),SPSS11.5版還新增了混合模型分析的功能。其缺點(diǎn)是沒(méi)有穩(wěn)健方法(無(wú)法完成穩(wěn)健回歸或得到穩(wěn)健標(biāo)準(zhǔn)誤),缺乏調(diào)查數(shù)據(jù)分析(SPSS12版增加了完成部分過(guò)程的模塊)。
繪圖功能。SPSS繪圖的交互界面非常簡(jiǎn)單,一旦你繪出圖形,你可以根據(jù)需要通過(guò)點(diǎn)擊來(lái)修改。這種圖形質(zhì)量極佳,還能粘貼到其他文件中(Word 文檔或Powerpoint等)。SPSS也有用于繪圖的編程語(yǔ)句,但是無(wú)法產(chǎn)生交互界面作圖的一些效果。這種語(yǔ)句比Stata語(yǔ)句難,但比SAS語(yǔ)句簡(jiǎn)單(功能稍遜)。
總結(jié)。SPSS致力于簡(jiǎn)便易行(其口號(hào)是“真正統(tǒng)計(jì),確實(shí)簡(jiǎn)單”),并且取得了成功。但是如果你是高級(jí)用戶,隨著時(shí)間推移你會(huì)對(duì)它喪失興趣。SPSS是制圖方面的強(qiáng)手,由于缺少穩(wěn)健和調(diào)查的方法,處理前沿的統(tǒng)計(jì)過(guò)程是其弱項(xiàng)。
總體評(píng)價(jià)
每個(gè)軟件都有其獨(dú)到之處,也難免有其軟肋所在??偟膩?lái)說(shuō),SAS,Stata和SPSS是能夠用于多種統(tǒng)計(jì)分析的一組工具。通過(guò)Stat/Transfer可以在數(shù)秒或數(shù)分鐘內(nèi)實(shí)現(xiàn)不同數(shù)據(jù)文件的轉(zhuǎn)換。因此,可以根據(jù)你所處理問(wèn)題的性質(zhì)來(lái)選擇不同的軟件。舉例來(lái)說(shuō),如果你想通過(guò)混合模型來(lái)進(jìn)行分析,你可以選擇SAS;進(jìn)行l(wèi)ogistic回歸則選擇Stata;若是要進(jìn)行方差分析,更佳的選擇當(dāng)然是SPSS。假如你經(jīng)常從事統(tǒng)計(jì)分析,強(qiáng)烈建議您把上述軟件收集到你的工具包以便于數(shù)據(jù)處理。
我推薦一些常用的大數(shù)模叢山據(jù)分析工具
1.專(zhuān)業(yè)的大數(shù)據(jù)分析工具
2.各種Python數(shù)據(jù)可視化第三方庫(kù)
3.其它語(yǔ)言的數(shù)據(jù)旦中可視化框架
一、專(zhuān)業(yè)的大數(shù)據(jù)分析工具
1、FineReport
FineReport是一款純Java編寫(xiě)的、集數(shù)據(jù)展示(報(bào)表)和數(shù)據(jù)錄入(表單)功能于一身的企業(yè)級(jí)web報(bào)表工具,只需要簡(jiǎn)單的拖拽操作便可以設(shè)計(jì)復(fù)雜的中國(guó)式報(bào)表,搭建數(shù)據(jù)決策分析系統(tǒng)。
2、FineBI
FineBI是新一代自助大數(shù)據(jù)分析的商業(yè)智能產(chǎn)品,提供了從數(shù)據(jù)準(zhǔn)備、自助數(shù)據(jù)處理、數(shù)據(jù)分析與挖掘、數(shù)據(jù)可視化于一體的完整解決方案,也是我比較推崇的可視化工具之一。
FineBI的使用感同Tableau類(lèi)似,都主張可視化的探索性分析,有點(diǎn)像加強(qiáng)版的數(shù)據(jù)透視表。上手簡(jiǎn)單,可視化庫(kù)豐富??梢猿洚?dāng)數(shù)據(jù)報(bào)表的門(mén)戶,也可以充當(dāng)各業(yè)務(wù)分析的平臺(tái)。
二、Python的數(shù)據(jù)可視化第三方庫(kù)
Python正慢慢地成為數(shù)據(jù)分析、數(shù)據(jù)挖掘領(lǐng)域的主流語(yǔ)言之一。在Python的生態(tài)里,很多開(kāi)發(fā)者們提供了非常豐富的、用于各種場(chǎng)景的數(shù)據(jù)可視化第三方庫(kù)。這些第三方庫(kù)可以讓我們結(jié)合Python語(yǔ)言繪制出漂亮的圖表。
1、pyecharts
Echarts(下面會(huì)提到)是一個(gè)開(kāi)源免費(fèi)的javascript數(shù)據(jù)可視化庫(kù),它讓我們可以輕松地鄭帶繪制專(zhuān)業(yè)的商業(yè)數(shù)據(jù)圖表。當(dāng)Python遇上了Echarts,pyecharts便誕生了,它是由chenjiandongx等一群開(kāi)發(fā)者維護(hù)的Echarts Python接口,讓我們可以通過(guò)Python語(yǔ)言繪制出各種Echarts圖表。
2、Bokeh
Bokeh是一款基于Python的交互式數(shù)據(jù)可視化工具,它提供了優(yōu)雅簡(jiǎn)潔的方法來(lái)繪制各種各樣的圖形,可以高性能的可視化大型數(shù)據(jù)集以及流數(shù)據(jù),幫助我們制作交互式圖表、可視化儀表板等。
三、其他數(shù)據(jù)可視化工具
1、Echarts
前面說(shuō)過(guò)了,Echarts是一個(gè)開(kāi)源免費(fèi)的javascript數(shù)據(jù)可視化庫(kù),它讓我們可以輕松地繪制專(zhuān)業(yè)的商業(yè)數(shù)據(jù)圖表。
大家都知道去年春節(jié)以及近期央視大規(guī)劃報(bào)道的百度大數(shù)據(jù)產(chǎn)品,如百度遷徙、百度司南、百度大數(shù)據(jù)預(yù)測(cè)等等,這些產(chǎn)品的數(shù)據(jù)可視化均是通過(guò)ECharts來(lái)實(shí)現(xiàn)的。
2、D3
D3(Data Driven Documents)是支持SVG渲染的另一種JavaScript庫(kù)。但是D3能夠提供大量線性圖和條形圖之外的復(fù)雜圖表樣式,例如Voronoi圖、樹(shù)形圖、圓形集群和單詞云等。
數(shù)據(jù)分析再怎么說(shuō)也是一個(gè)專(zhuān)業(yè)的領(lǐng)域,沒(méi)有數(shù)學(xué)、統(tǒng)計(jì)學(xué)、數(shù)據(jù)庫(kù)這些知識(shí)的支撐,對(duì)于我們這些市場(chǎng)、業(yè)務(wù)的人員來(lái)說(shuō),難度真的不是一點(diǎn)點(diǎn)。從國(guó)外一線大牌到國(guó)內(nèi)宣傳造勢(shì)強(qiáng)大的品牌,我們基本試用了一個(gè)遍,總結(jié)一句話“人人都是數(shù)據(jù)分析師”這個(gè)坑實(shí)在太大,所有的數(shù)據(jù)分析工具知早無(wú)論宣傳怎樣,都有一定的學(xué)習(xí)成本,尤其是要深入業(yè)務(wù)實(shí)際。今天就我們用過(guò)的幾款工具簡(jiǎn)單總結(jié)一下,與大家分享。
1、Tableau
這個(gè)號(hào)稱(chēng)敏捷BI的扛把子,魔力象限常年位于領(lǐng)導(dǎo)者象限,界面清爽、功能確實(shí)很強(qiáng)大,實(shí)至名歸。將數(shù)據(jù)拖入相關(guān)區(qū)域,自動(dòng)出圖,圖形展示豐富,交互性較好。圖形自定義功能強(qiáng)大,各種圖形參數(shù)配置、自定義設(shè)置可以靈活設(shè)置,具備較強(qiáng)的數(shù)據(jù)處理和計(jì)算能力,可視化分析、交互式分析體驗(yàn)良好。確實(shí)是一款功能強(qiáng)大、全面的數(shù)據(jù)可視化分析工具。新版本也集成了很多高級(jí)分析功能,分析更強(qiáng)大。但是基于圖表、儀表板、故事報(bào)告的邏輯,完成一個(gè)復(fù)雜的業(yè)務(wù)匯報(bào),大量的圖表、儀表板組合很費(fèi)事。給領(lǐng)導(dǎo)匯報(bào)的PPT需要先一個(gè)個(gè)截圖,然后再放到PPT里面。作為一個(gè)數(shù)據(jù)分析工具是合格的,但是在企業(yè)級(jí)這種應(yīng)用匯報(bào)中有點(diǎn)局限。
2、PowerBI
PowerBI是蓋茨大佬推出的工具,我們也興奮的開(kāi)始試用,確實(shí)完全不同于Tableau的操作邏輯,更符合我們普通數(shù)據(jù)分析小白的需求,操作和Excel、PPT類(lèi)似,功能模塊劃分清晰,上手唯猛緩真的超級(jí)快,圖形豐富度和靈活性也是很不錯(cuò)。但是說(shuō)實(shí)話,畢竟剛推出,系統(tǒng)BUG很多,可視化分析的功能也比較簡(jiǎn)單。雖然有很多復(fù)雜的數(shù)據(jù)處理功能,但是那是需要有對(duì)Excel函數(shù)深入理解應(yīng)用的基礎(chǔ)的,所以要支持復(fù)雜的業(yè)務(wù)分析還需要一定基礎(chǔ)。不過(guò)版本更新倒是很快,可以等等新版本。
3、Qlik
和Tableau齊名的數(shù)據(jù)可視化分析工具,QlikView在業(yè)界也享有很高的聲譽(yù)。不過(guò)Qlik Seanse產(chǎn)品系列才在大陸市場(chǎng)有比較大的推廣和應(yīng)用。真的是一股清流,界面簡(jiǎn)潔、流程清晰、操作簡(jiǎn)單,交互性較好,真的是一款簡(jiǎn)單易用的BI工具。但是不支持深度的數(shù)據(jù)分析,圖形計(jì)算和深度計(jì)算功能缺失,不能滿足復(fù)雜的業(yè)務(wù)分析需求。
最后將視線聚焦國(guó)內(nèi),目前搜索排名和市場(chǎng)宣傳比較好的也很多,永洪BI、帆軟BI、BDP等。不過(guò)經(jīng)過(guò)個(gè)人感覺(jué)整體宣傳大于實(shí)際。
4、永洪BI
永洪BI功能方面應(yīng)該是相對(duì)比較完善的,也是拖拽出圖,有點(diǎn)類(lèi)似Tableau的邏輯,不過(guò)功能與Tableau相比還是差的不是一點(diǎn)半點(diǎn),但是操作難度居然比Tableau還難。預(yù)定義的分析功能比較豐富,圖表功能和靈活性較大,但是操作的友好性不足。宣傳擁有高級(jí)分析的數(shù)據(jù)挖掘功能,后來(lái)發(fā)現(xiàn)就集成了開(kāi)源的幾個(gè)算法,功能非常簡(jiǎn)單。而操作過(guò)程中大量的彈出框、難以理解含義的配置項(xiàng),真的讓人很暈。一個(gè)簡(jiǎn)單的堆積柱圖,就研究了好久,看幫助、看視頻才搞定。哎,只感嘆功能藏得太深,不想給人用啊。
5、帆軟BI
再說(shuō)號(hào)稱(chēng)FBI的帆軟BI,帆軟報(bào)表很多國(guó)人都很熟悉,功能確實(shí)很不錯(cuò),但是BI工具就真的一般指模般了。只能簡(jiǎn)單出圖,配合報(bào)表工具使用,能讓頁(yè)面更好看,但是比起其他的可視化分析、BI工具,功能還是比較簡(jiǎn)單,分析的能力不足,功能還是比較簡(jiǎn)單。帆軟名氣確實(shí)很大,號(hào)稱(chēng)行業(yè)之一,但是主要在報(bào)表層面,而數(shù)據(jù)可視化分析方面就比較欠缺了。
6、Tempo
另一款工具,全名叫“Tempo大數(shù)據(jù)分析平臺(tái)”,宣傳比較少,2023年Gartner報(bào)告發(fā)布后無(wú)意中看到的。是一款BS的工具,申請(qǐng)?jiān)囉靡彩琴M(fèi)盡了波折啊,永洪是不想讓人用,他直接不想賣(mài)的節(jié)奏。
之一次試用也是一臉懵逼,不知道該點(diǎn)那!不過(guò)抱著破罐子破摔的心態(tài)稍微點(diǎn)了幾下之后,操作居然越來(lái)越流暢。也是拖拽式操作,數(shù)據(jù)可視化效果比較豐富,支持很多便捷計(jì)算,能滿足常用的業(yè)務(wù)分析。最最驚喜的是它還支持可視化報(bào)告導(dǎo)出PPT,徹底解決了分析結(jié)果輸出的問(wèn)題。深入了解后,才發(fā)現(xiàn)他們的核心居然是“數(shù)據(jù)挖掘”,算法十分豐富,也是拖拽式操作,我一個(gè)文科的分析小白,居然跟著指導(dǎo)和說(shuō)明做出了一個(gè)數(shù)據(jù)預(yù)測(cè)的挖掘流,簡(jiǎn)直不要太驚喜。掌握了Tempo的基本操作邏輯后,居然發(fā)現(xiàn)他的易用性真的很不錯(cuò),功能完整性和豐富性也很好。不過(guò)沒(méi)有宣傳也是有原因的,系統(tǒng)整體配套的介紹、操作說(shuō)明的完善性上還有待提升。
強(qiáng)烈推薦樓主下載FineBI!從技術(shù)上看,大數(shù)據(jù)與云計(jì)算的關(guān)系就像一枚硬幣的正反面一樣密不可分。大數(shù)據(jù)必然無(wú)法用單臺(tái)的計(jì)算機(jī)進(jìn)行處理,慧咐必須采用分布式架構(gòu)。它的特色在于對(duì)海量數(shù)據(jù)進(jìn)行分布式數(shù)據(jù)挖掘,但它必須依托云計(jì)算的分布式處理、分布式數(shù)據(jù)庫(kù)和云存儲(chǔ)、虛擬化技術(shù)。隨著云時(shí)代的來(lái)臨,大數(shù)據(jù)(Big data)也吸引了越來(lái)越多的關(guān)注?!肚芭屑冎婆_(tái)》的分析師團(tuán)隊(duì)認(rèn)為,大數(shù)據(jù)(Big data)通常用來(lái)形容一個(gè)公司創(chuàng)造的大量非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)在下載到關(guān)系型數(shù)據(jù)庫(kù)用于沖野分析時(shí)會(huì)花費(fèi)過(guò)多時(shí)間和金錢(qián)。大數(shù)據(jù)分析常和云計(jì)算聯(lián)系到一起,因?yàn)閷?shí)時(shí)的大型數(shù)據(jù)集分析需要像MapReduce一樣的框架來(lái)向數(shù)十、數(shù)百或甚至數(shù)千的電腦分配工作。
萬(wàn)字詳解ETL和數(shù)倉(cāng)建模
ETL是數(shù)據(jù)抽?。‥xtract)、轉(zhuǎn)換(Transform)、加載(Load )的簡(jiǎn)寫(xiě),它是將OLTP系統(tǒng)中的數(shù)據(jù)經(jīng)過(guò)抽取,并將不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行轉(zhuǎn)換、整合,得出一致性的數(shù)據(jù),然后加載到數(shù)據(jù)倉(cāng)庫(kù)中。簡(jiǎn)而言之ETL是完成從 OLTP系統(tǒng)到OLAP系統(tǒng)的過(guò)程
數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse DW)是基于OLTP系統(tǒng)的數(shù)據(jù)源,為了便于多維分析和 多角度展現(xiàn)將其數(shù)據(jù)按特定的模式進(jìn)行存儲(chǔ)而建立的關(guān)系型數(shù)據(jù)庫(kù),它不同于多維數(shù)據(jù)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是細(xì)節(jié)的,集成的,數(shù)據(jù)倉(cāng)庫(kù)是面向主題的,是以 OLAP系統(tǒng)為分析目的。它包括星型架構(gòu)與雪花型架構(gòu),其中星型架構(gòu)中間為事實(shí)表,四周為維度表, 類(lèi)似星星;雪花型架構(gòu)中間為事實(shí)表,兩邊的維度表可以再有其關(guān)聯(lián)子表,而在星型中只允許一張表作為維度表與事實(shí)表關(guān)聯(lián),雪花型一維度可以有多張表,而星型 不可以。考慮到效率時(shí),星型聚合快,效率高,不過(guò)雪花型結(jié)構(gòu)明確,便于與OLTP系統(tǒng)交互。在實(shí)際項(xiàng)目中,我們將綜合運(yùn)用星型架構(gòu)與雪花型架構(gòu)。
即 確定數(shù)據(jù)分析或前端展現(xiàn)的某一方面的分析主題,例如我們分析某年某月某一地區(qū)的啤酒銷(xiāo)售情況,就是一個(gè)主題。主題要體現(xiàn)某一方面的各分析角度(維度)和統(tǒng) 計(jì)數(shù)值型數(shù)據(jù)(量度),確定主題時(shí)要綜合考慮,一個(gè)主題在數(shù)據(jù)倉(cāng)庫(kù)中即為一個(gè)數(shù)據(jù)集市,數(shù)據(jù)集市體現(xiàn)了某一方面的信息,多個(gè)數(shù)據(jù)集市構(gòu)成了數(shù)據(jù)倉(cāng)庫(kù)。
在 確定了主題以后,我們將考慮要分析的技術(shù)指標(biāo),諸如年銷(xiāo)售額此類(lèi),一般為數(shù)值型數(shù)據(jù),或者將該數(shù)據(jù)匯總,或者將該數(shù)據(jù)取次數(shù),獨(dú)立次數(shù)或取更大最小值 等,這樣的數(shù)據(jù)稱(chēng)之為量度。量度是要統(tǒng)計(jì)的指標(biāo),必須事先選擇恰當(dāng),基于不同的量度可以進(jìn)行復(fù)雜關(guān)鍵性能指標(biāo)(KPI)等的計(jì)算。
在 確定了量度之后我們要考慮到該量度的匯總情況臘差殲和不同維度下量度的聚合情況,考慮到量度的聚合程度不同,我們將采用“最小粒度原則”,即將量度的粒度設(shè)置 到最小,例如我們將按照時(shí)間對(duì)銷(xiāo)售額進(jìn)行匯總,目前的數(shù)據(jù)最小記錄到天,即數(shù)據(jù)庫(kù)中記錄了每天的交易額,那么我們不能在ETL時(shí)將數(shù)據(jù)進(jìn)行按月或年匯總, 需要保持到天,以便于后續(xù)對(duì)天進(jìn)行分析。而且我們不必?fù)?dān)心數(shù)據(jù)量輪沖和數(shù)據(jù)沒(méi)有提前匯總帶來(lái)的問(wèn)題,因?yàn)樵诤罄m(xù)的建立CUBE時(shí)已經(jīng)將數(shù)據(jù)提前匯總了。
維 度是要分析的各個(gè)角度,例如我們希望按照時(shí)間,或者按照地區(qū),或者按照產(chǎn)品進(jìn)行分析,那么這里的時(shí)間、地區(qū)、產(chǎn)品就是相應(yīng)的維度,基于不同的維度我們可 以看到各量度的匯總情況,我們可以基于所有的維度進(jìn)行交叉分析。這里我們首先要確定維度的層次(Hierarchy)和級(jí)別(Level)(圖 四:pic4.jpg),維度的層次是指該維度的所有級(jí)別,包括各級(jí)別的屬性;維度的級(jí)別是指該維度下的成員,例如當(dāng)建立地區(qū)維度時(shí)我們將地區(qū)維度作為一 個(gè)級(jí)別,層次為省、市、縣三層,考慮到維度表要包含盡量多的信息,所以建立維度時(shí)要符合“矮胖原則”,即維度表要盡量寬,盡量包含所有的描述性信息,而不 是統(tǒng)計(jì)性的數(shù)據(jù)信息。
還有一種常見(jiàn)的情況,就是父子型維度,該維度一般用于非葉子節(jié)點(diǎn)含有成員等情況,例如公司員工 的維度,在統(tǒng)計(jì)員工的工資時(shí),部 門(mén)主管的工資不能等于下屬成員工資的簡(jiǎn)單相加,必須對(duì)該主管的工資單獨(dú)統(tǒng)計(jì),然后該主管部門(mén)的工資等于下屬員工工資加部門(mén)主管的工資,那么在建立員工維度 時(shí),我們需要將員工維度建立成父子型維度,這樣在統(tǒng)計(jì)時(shí),主管的工資會(huì)自動(dòng)加上,避免了都是葉子節(jié)點(diǎn)才有數(shù)據(jù)的情況。
另外,在建立維度表時(shí)要充 分使用代理鍵,代理鍵是數(shù)值型的ID號(hào)碼慶羨,好處是代理鍵唯一標(biāo)識(shí)了每一維度成員信息,便于區(qū)分,更重要的是在聚合時(shí)由于數(shù)值型匹 配,JOIN效率高,便于聚合,而且代理鍵對(duì)緩慢變化維度有更重要的意義,它起到了標(biāo)識(shí) 歷史 數(shù)據(jù)與新數(shù)據(jù)的作用,在原數(shù)據(jù)主鍵相同的情況下,代理鍵起到了 對(duì)新數(shù)據(jù)與 歷史 數(shù)據(jù)非常重要的標(biāo)識(shí)作用。
有時(shí)我們也會(huì)遇到維度緩慢變化的情況,比如增加了新的產(chǎn)品,或者產(chǎn)品的ID號(hào)碼修改了,或者產(chǎn)品增加了一個(gè)新的屬性,此時(shí)某一維度的成員會(huì)隨著新的數(shù)據(jù)的加入而增加新的維度成員,這樣我們要考慮到緩慢變化維度的處理,對(duì)于緩慢變化維度,有三種情況:
在確定好事實(shí)數(shù)據(jù)和維度后,我們將考慮加載事實(shí)表。
在公司的大量數(shù)據(jù)堆積如山時(shí),我們想看看里面究竟是什么,結(jié)果發(fā)現(xiàn)里面是一筆筆生產(chǎn)記錄,一筆筆交易記錄… 那么這些記錄是我們將要建立的事實(shí)表的原始數(shù)據(jù),即關(guān)于某一主題的事實(shí)記錄表。
我 們的做法是將原始表與維度表進(jìn)行關(guān)聯(lián),生成事實(shí)表(圖六:pic6.jpg)。注意在關(guān)聯(lián)時(shí)有為空的數(shù)據(jù)時(shí)(數(shù)據(jù)源臟),需要使用外連接,連接后我們將 各維度的代理鍵取出放于事實(shí)表中,事實(shí)表除了各維度代理鍵外,還有各量度數(shù)據(jù),這將來(lái)自原始表,事實(shí)表中將存在維度代理鍵和各量度,而不應(yīng)該存在描述性信 息,即符合“瘦高原則”,即要求事實(shí)表數(shù)據(jù)條數(shù)盡量多(粒度最?。?,而描述性信息盡量少。
如果考慮到擴(kuò)展,可以將事實(shí)表加一唯一標(biāo)識(shí)列,以為了以后擴(kuò)展將該事實(shí)作為雪花型維度,不過(guò)不需要時(shí)一般建議不用這樣做。
事 實(shí)數(shù)據(jù)表是數(shù)據(jù)倉(cāng)庫(kù)的核心,需要精心維護(hù),在JOIN后將得到事實(shí)數(shù)據(jù)表,一般記錄條數(shù)都比較大,我們需要為其設(shè)置復(fù)合主鍵和索引,以為了數(shù)據(jù)的完整性和 基于數(shù)據(jù)倉(cāng)庫(kù)的查詢(xún)性能優(yōu)化,事實(shí)數(shù)據(jù)表與維度表一起放于數(shù)據(jù)倉(cāng)庫(kù)中,如果前端需要連接數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行查詢(xún),我們還需要建立一些相關(guān)的中間匯總表或物化視圖,以方便查詢(xún)。
在構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)時(shí),如果數(shù)據(jù)源位于一服務(wù)器上,數(shù)據(jù)倉(cāng)庫(kù)在另一 服務(wù)器端,考慮到數(shù)據(jù)源Server端訪問(wèn)頻繁,并且數(shù)據(jù)量大,需要不斷更新,所以可以建立準(zhǔn)備區(qū)數(shù)據(jù)庫(kù)(圖七:pic7.jpg)。先將數(shù)據(jù)抽取到準(zhǔn)備 區(qū)中,然后基于準(zhǔn)備區(qū)中的數(shù)據(jù)進(jìn)行處理,這樣處理的好處是防止了在原OLTP系統(tǒng)中中頻繁訪問(wèn),進(jìn)行數(shù)據(jù)運(yùn)算或排序等操作。例如我們可以按照天將數(shù)據(jù)抽取 到準(zhǔn)備區(qū)中,基于數(shù)據(jù)準(zhǔn)備區(qū),我們將進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,整合,將不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行一致性處理。數(shù)據(jù)準(zhǔn)備區(qū)中將存在原始抽取表,一些轉(zhuǎn)換中間表和臨時(shí)表以 及ETL日志表等。
時(shí)間維度對(duì)于某一事實(shí)主題來(lái)說(shuō)十分重要,因?yàn)椴煌臅r(shí)間有不同的統(tǒng)計(jì)數(shù)據(jù)信息,那么按照時(shí)間記錄 的信息將發(fā)揮很重要的作用。在ETL中,時(shí)間戳有其特殊的 作用,在上面提到的緩慢變化維度中,我們可以使用時(shí)間戳標(biāo)識(shí)維度成員;在記錄數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的操作時(shí),我們也將使用時(shí)間戳標(biāo)識(shí)信息,例如在進(jìn)行數(shù)據(jù)抽取 時(shí),我們將按照時(shí)間戳對(duì)OLTP系統(tǒng)中的數(shù)據(jù)進(jìn)行抽取,比如在午夜0:00取前一天的數(shù)據(jù),我們將按照OLTP系統(tǒng)中的時(shí)間戳取GETDATE到 GETDATE減一天,這樣得到前一天數(shù)據(jù)。
在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),難免會(huì)發(fā)生數(shù)據(jù)處理錯(cuò)誤,產(chǎn)生出錯(cuò)信息,那么我們 如何獲得出錯(cuò)信息并及時(shí)修正呢? 方法是我們使用一張或多張Log日志表,將出錯(cuò)信息記錄下來(lái),在日志表中我們將記錄每次抽取的條數(shù),處理成功的條數(shù),處理失敗的條數(shù),處理失敗的數(shù)據(jù),處 理時(shí)間等等,這樣當(dāng)數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),我們很容易發(fā)現(xiàn)問(wèn)題所在,然后對(duì)出錯(cuò)的數(shù)據(jù)進(jìn)行修正或重新處理。
在對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行 增量更新時(shí)必須使用調(diào)度(圖八:pic8.jpg),即對(duì)事實(shí)數(shù)據(jù)表進(jìn)行增量更新處理,在使用調(diào)度前要考慮到事實(shí)數(shù)據(jù)量,需要多長(zhǎng)時(shí)間更 新一次,比如希望按天進(jìn)行查看,那么我們更好按天進(jìn)行抽取,如果數(shù)據(jù)量不大,可以按照月或半年對(duì)數(shù)據(jù)進(jìn)行更新,如果有緩慢變化維度情況,調(diào)度時(shí)需要考慮到 維度表更新情況,在更新事實(shí)數(shù)據(jù)表之前要先更新維度表。
調(diào)度是數(shù)據(jù)倉(cāng)庫(kù)的關(guān)鍵環(huán)節(jié),要考慮縝密,在ETL的流程搭建好后,要定期對(duì)其運(yùn)行,所以 調(diào)度是執(zhí)行ETL流程的關(guān)鍵步驟,每一次調(diào)度除了寫(xiě)入Log日志表 的數(shù)據(jù)處理信息外,還要使用發(fā)送Email或報(bào)警信息等,這樣也方便的技術(shù)人員對(duì)ETL流程的把握,增強(qiáng)了安全性和數(shù)據(jù)處理的準(zhǔn)確性。
ETL構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)需要簡(jiǎn)單的五步,掌握了這五步的方法我們將構(gòu)建一個(gè)強(qiáng)大的數(shù)據(jù)倉(cāng)庫(kù),不過(guò)每一步都有很深的需要研究與挖掘,尤其在實(shí)際項(xiàng)目中,我們要綜合考慮,例如如果數(shù)據(jù)源的臟數(shù)據(jù)很多,在搭建數(shù)據(jù)倉(cāng)庫(kù)之前我們首先要進(jìn)行數(shù)據(jù)清洗,以剔除掉不需要的信息和臟數(shù)據(jù)。
總之,ETL是數(shù)據(jù)倉(cāng)庫(kù)的核心,掌握了ETL構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的五步法,就掌握了搭建數(shù)據(jù)倉(cāng)庫(kù)的根本方法。不過(guò),我們不能教條,基于不同的項(xiàng)目,我們還將要進(jìn)行 具體分析,如父子型維度和緩慢變化維度的運(yùn)用等。在數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建中,ETL關(guān)系到整個(gè)項(xiàng)目的數(shù)據(jù)質(zhì)量,所以馬虎不得,必須將其擺到重要位置,將ETL這一 大廈根基筑牢。
如果ETL和SQL來(lái)說(shuō),肯定是SQL效率高的多。但是雙方各有優(yōu)勢(shì),先說(shuō)ETL,ETL主要面向的是建立數(shù)據(jù)倉(cāng)庫(kù)來(lái)使用的。ETL更偏向數(shù)據(jù)清洗,多數(shù)據(jù)源數(shù)據(jù)整合,獲取增量,轉(zhuǎn)換加載到數(shù)據(jù)倉(cāng)庫(kù)所使用的工具。比如我有兩個(gè)數(shù)據(jù)源,一個(gè)是數(shù)據(jù)庫(kù)的表,另外一個(gè)是excel數(shù)據(jù),而我需要合并這兩個(gè)數(shù)據(jù),通常這種東西在SQL語(yǔ)句中比較難實(shí)現(xiàn)。但是ETL卻有很多現(xiàn)成的組件和驅(qū)動(dòng),幾個(gè)組件就搞定了。還有比如跨服務(wù)器,并且服務(wù)器之間不能建立連接的數(shù)據(jù)源,比如我們公司系統(tǒng)分為一期和二期,存放的數(shù)據(jù)庫(kù)是不同的,數(shù)據(jù)結(jié)構(gòu)也不相同,數(shù)據(jù)庫(kù)之間也不能建立連接,這種情況下,ETL就顯得尤為重要和突出。通過(guò)固定的抽取,轉(zhuǎn)換,加載到數(shù)據(jù)倉(cāng)庫(kù)中,即可很容易實(shí)現(xiàn)。
那么SQL呢?SQL事實(shí)上只是固定的腳本語(yǔ)言,但是執(zhí)行效率高,速度快。不過(guò)靈活性不高,很難跨服務(wù)器整合數(shù)據(jù)。所以SQL更適合在固定數(shù)據(jù)庫(kù)中執(zhí)行大范圍的查詢(xún)和數(shù)據(jù)更改,由于腳本語(yǔ)言可以隨便編寫(xiě),所以在固定數(shù)據(jù)庫(kù)中能夠?qū)崿F(xiàn)的功能就相當(dāng)強(qiáng)大,不像ETL中功能只能受組件限制,組件有什么功能,才能實(shí)現(xiàn)什么功能。
所以具體我們?cè)谑裁磿r(shí)候使用ETL和SQL就很明顯了,當(dāng)我們需要多數(shù)據(jù)源整合建立數(shù)據(jù)倉(cāng)庫(kù),并進(jìn)行數(shù)據(jù)分析的時(shí)候,我們使用ETL。如果是固定單一數(shù)據(jù)庫(kù)的數(shù)據(jù)層次處理,我們就使用SQL。當(dāng)然,ETL也是離不開(kāi)SQL的。
主要有三大主流工具,分別是Ascential公司的Datastage、Informatica公司的Powercenter、NCR Teradata公司的ETL Automation.還有其他開(kāi)源工具,如PDI(Kettle)等。
DW系統(tǒng)以事實(shí)發(fā)生數(shù)據(jù)為基礎(chǔ),自產(chǎn)數(shù)據(jù)較少。
一個(gè)企業(yè)往往包含多個(gè)業(yè)務(wù)系統(tǒng),均可能成為DW數(shù)據(jù)源。
業(yè)務(wù)系統(tǒng)數(shù)據(jù)質(zhì)量良莠不齊,必須學(xué)會(huì)去偽存真。
業(yè)務(wù)系統(tǒng)數(shù)據(jù)紛繁復(fù)雜,要整合進(jìn)數(shù)據(jù)模型。
源數(shù)據(jù)之間關(guān)系也紛繁復(fù)雜,源數(shù)據(jù)在加工進(jìn)DW系統(tǒng)時(shí),有些必須遵照一定的先后次序關(guān)系;
流水事件表:此類(lèi)源表用于記錄交易等動(dòng)作的發(fā)生,在源系統(tǒng)中會(huì)新增、大部分不會(huì)修改和刪除,少量表存在刪除情況。如定期存款登記簿;
常規(guī)狀態(tài)表:此類(lèi)源表用于記錄數(shù)據(jù)信息的狀態(tài)。在源系統(tǒng)中會(huì)新增、修改,也存在刪除的情況。如客戶信息表;
代碼參數(shù)表:此類(lèi)源表用于記錄源系統(tǒng)中使用到的數(shù)據(jù)代碼和參數(shù);
數(shù)據(jù)文件大多數(shù)以1天為固定的周期從源系統(tǒng)加載到數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)文件包含增量,全量以及待刪除的增量。
增量數(shù)據(jù)文件:數(shù)據(jù)文件的內(nèi)容為數(shù)據(jù)表的增量信息,包含表內(nèi)新增及修改的記錄。
全量數(shù)據(jù)文件:數(shù)據(jù)文件的內(nèi)容為數(shù)據(jù)表的全量信息,包含表內(nèi)的所有數(shù)據(jù)。
帶刪除的增量:數(shù)據(jù)文件的內(nèi)容為數(shù)據(jù)表的增量信息,包含表內(nèi)新增、修改及刪除的記錄,通常刪除的記錄以字段DEL_IND=’D’標(biāo)識(shí)該記錄。
可劃分為: 歷史 拉鏈算法、追加算法(事件表)、Upsert算法(主表)及全刪全加算法(參數(shù)表);
歷史 拉鏈:根據(jù)業(yè)務(wù)分析要求,對(duì)數(shù)據(jù)變化都要記錄,需要基于日期的連續(xù) 歷史 軌跡;
追加(事件表):根據(jù)業(yè)務(wù)分析要求,對(duì)數(shù)據(jù)變化都要記錄,不需要基于日期的連續(xù) 歷史 軌跡;
Upsert(主表):根據(jù)業(yè)務(wù)分析要求,對(duì)數(shù)據(jù)變化不需要都要記錄,當(dāng)前數(shù)據(jù)對(duì) 歷史 數(shù)據(jù)有影響;
全刪全加算法(參數(shù)表):根據(jù)業(yè)務(wù)分析要求,對(duì)數(shù)據(jù)變化不需要都要記錄,當(dāng)前數(shù)據(jù)對(duì) 歷史 數(shù)據(jù)無(wú)影響;
所謂拉鏈,就是記錄 歷史 ,記錄一個(gè)事務(wù)從開(kāi)始,一直到當(dāng)前狀態(tài)的所有變化信息(參數(shù)新增開(kāi)始結(jié)束日期);
一般用于事件表,事件之間相對(duì)獨(dú)立,不存在對(duì) 歷史 信息進(jìn)行更新;
是update和insert組合體,一般用于對(duì) 歷史 信息變化不需要進(jìn)行跟蹤保留、只需其最新?tīng)顟B(tài)且數(shù)據(jù)量有一定規(guī)模的表,如客戶資料表;
一般用于數(shù)據(jù)量不大的參數(shù)表,把 歷史 數(shù)據(jù)全部刪除,然后重新全量加載;
歷史 拉鏈,Upsert,Append,全刪全加;加載性能:全刪全加,Append,Upsert, 歷史 拉鏈;
APPEND算法,常規(guī)拉鏈算法,全量帶刪除拉鏈算法;
APPEND算法,MERGE算法,常規(guī)拉鏈算法,基于增量數(shù)據(jù)的刪除拉鏈算法,基于全量數(shù)據(jù)的刪除拉鏈算法,經(jīng)濟(jì)型常規(guī)拉鏈算法,經(jīng)濟(jì)型基于增量數(shù)據(jù)的刪除拉鏈算法,經(jīng)濟(jì)型基于全量數(shù)據(jù)的刪除拉鏈算法,PK_NOT_IN_APPEND算法,源日期字段自拉鏈算法;
此算法通常用于流水事件表,適合這類(lèi)算法的源表在源系統(tǒng)中不會(huì)更新和刪除,而只會(huì)發(fā)生一筆添加一筆,所以只需每天將交易日期為當(dāng)日最新數(shù)據(jù)取過(guò)來(lái)直接附加到目標(biāo)表即可,此類(lèi)表在近源模型層的字段與技術(shù)緩沖層、源系統(tǒng)表基本上完全一致,不會(huì)額外增加物理化處理字段,使用時(shí)也與源系統(tǒng)表的查詢(xún)方式相同;
此算法通常用于無(wú)刪除操作的常規(guī)狀態(tài)表,適合這類(lèi)算法的源表在源系統(tǒng)中會(huì)新增、修改,但不刪除,所以需每天獲取當(dāng)日末最新數(shù)據(jù)(增量或全增量均可),先找出真正的增量數(shù)據(jù)(新增和修改),用它們將目標(biāo)表中屬性發(fā)生修改的開(kāi)鏈數(shù)據(jù)(有效數(shù)據(jù))進(jìn)行關(guān)鏈操作(即END_DT關(guān)閉到當(dāng)前業(yè)務(wù)日期),然后再將最新的增量數(shù)據(jù)作為開(kāi)鏈數(shù)據(jù)插入到目標(biāo)表即可。
此類(lèi)表再近源模型層比技術(shù)緩沖層、源系統(tǒng)的相應(yīng)表額外增加兩個(gè)物理化處理字段START_DT(開(kāi)始日期)和END_DT(結(jié)束日期),使用時(shí)需要先選定視覺(jué)日期,通過(guò)START_DT和END_DT去卡視覺(jué)日期,即START_DT’視覺(jué)日期’;
此算法通常用于有刪除操作的常規(guī)狀態(tài)類(lèi)表,并且要求全量的數(shù)據(jù)文件,用以對(duì)比出刪除增量;適合這類(lèi)算法的源表在源系統(tǒng)中會(huì)新增,修改,刪除,每天將當(dāng)日末最新全量數(shù)據(jù)取過(guò)來(lái)外,分別找出真正的增量數(shù)據(jù)(新增,修改)和刪除增量數(shù)據(jù),用它們將目標(biāo)表中屬性發(fā)生修改的開(kāi)鏈數(shù)據(jù)(有效數(shù)據(jù))進(jìn)行關(guān)鏈操作(即END_DT關(guān)閉到當(dāng)前業(yè)務(wù)日期),然后再將最新增量數(shù)據(jù)中真正的增量及刪除數(shù)據(jù)作為開(kāi)鏈數(shù)據(jù)插入到目標(biāo)表即可,注意刪除記錄的刪除標(biāo)志DEL_IND會(huì)設(shè)置為‘D’;
此類(lèi)表在近源模型層比技術(shù)緩沖層,源系統(tǒng)的相應(yīng)表額外增加三個(gè)物理化處理字段START_DT(開(kāi)始日期),ENT_DT(結(jié)束日期),DEL_IND(刪除標(biāo)準(zhǔn))。使用方式分兩類(lèi):一時(shí)一般查詢(xún)使用,此時(shí)需要先選定視角日期,通過(guò)START_DT和END_DT去卡視角日期,即START_DT‘視角日期’,同時(shí)加上條件DEL_IND ‘D’;另一種是下載或獲取當(dāng)日增量數(shù)據(jù),此時(shí)就是需要START_DT’視角日期’ 一個(gè)條件即可,不需要加DEL_IND ‘D’的條件。
此算法通常用于流水事件表,適合這類(lèi)算法的源表在源系統(tǒng)中不會(huì)更新和刪除,而只會(huì)發(fā)生一筆添加一筆,所以只需每天將交易日期為當(dāng)日的最新數(shù)據(jù)取過(guò)來(lái)直接附加到目標(biāo)表即可;
通常建一張名為VT_NEW_編號(hào)的臨時(shí)表,用于將各組當(dāng)日最新數(shù)據(jù)轉(zhuǎn)換加到VT_NEW_編號(hào)后,再一次附加到最終目標(biāo)表;
此算法通常用于無(wú)刪除操作的常規(guī)狀態(tài)表,一般是無(wú)需保留 歷史 而只保留當(dāng)前最新?tīng)顟B(tài)的表,適合這類(lèi)算法的源表在源系統(tǒng)中會(huì)新增,修改,但不刪除,所以需獲取當(dāng)日末最新數(shù)據(jù)(增量或全量均可),用于MERGE IN或UPSERT目標(biāo)表;為了效率及識(shí)別真正增量的要求,通常先識(shí)別出真正的增量數(shù)據(jù)(新增及修改數(shù)據(jù)),然后再用這些真正的增量數(shù)據(jù)向目標(biāo)表進(jìn)行MERGE INTO操作;
通常建兩張臨時(shí)表,一個(gè)名為VT_NEW_編號(hào),用于將各組當(dāng)日最新數(shù)據(jù)轉(zhuǎn)換加到VT_NEW_編號(hào);另一張名為VT_INC_編號(hào),將VT_NEW_編號(hào)與目標(biāo)表中昨日的數(shù)據(jù)進(jìn)行對(duì)比后找出真正的增量數(shù)據(jù)(新增和修改)放入VT_INC_編號(hào),然后再用VT_INC_編號(hào)對(duì)最終目標(biāo)表進(jìn)行MERGE INTO或UPSERT。
此算法通常用于無(wú)刪除操作的常規(guī)狀態(tài)表,適合這類(lèi)算法的源表在源系統(tǒng)中會(huì)新增、修改,但不刪除,所以需每天獲取當(dāng)日末最新數(shù)據(jù)(增量或全增量均可),先找出真正的增量數(shù)據(jù)(新增和修改),用它們將目標(biāo)表中屬性發(fā)生修改的開(kāi)鏈數(shù)據(jù)(有效數(shù)據(jù))進(jìn)行關(guān)鏈操作(即END_DT關(guān)閉到當(dāng)前業(yè)務(wù)日期),然后再將最新增量數(shù)據(jù)作為開(kāi)鏈數(shù)據(jù)插入到目標(biāo)表即可;
通常建兩張臨時(shí)表,一個(gè)名為VT_NEW_編號(hào),用于將各組當(dāng)日最新數(shù)據(jù)轉(zhuǎn)換加到VT_NEW_編號(hào);另一張名為VT_INC_編號(hào),將VT_NEW_編號(hào)與目標(biāo)表中昨日的數(shù)據(jù)進(jìn)行對(duì)比后找出真正的增量數(shù)據(jù)(新增和修改)放入VT_INC_編號(hào),然后再將最終目標(biāo)表的開(kāi)鏈數(shù)據(jù)中的PK出現(xiàn)在VT_INT_編號(hào)中進(jìn)行關(guān)鏈處理,然后將VT_INC_編號(hào)中的所有數(shù)據(jù)作為開(kāi)鏈數(shù)據(jù)插入最終目標(biāo)表即可。
此算法通常用于有刪除操作的常規(guī)狀態(tài)表,并且要求刪除數(shù)據(jù)是以DEL_IND=’D’刪除增量的形式提供;適合這類(lèi)算法的源表再源系統(tǒng)中會(huì)新增、修改、刪除,除每天獲取當(dāng)日末最新數(shù)據(jù)(增量或全量均可)外,還要獲取當(dāng)日刪除的數(shù)據(jù),根據(jù)找出的真正增量數(shù)據(jù)(新增和修改)以及刪除增量數(shù)據(jù),用它們將目標(biāo)表中屬性發(fā)生修改的開(kāi)鏈數(shù)據(jù)(有效數(shù)據(jù))進(jìn)行關(guān)鏈操作(即END_DT關(guān)閉到當(dāng)前業(yè)務(wù)時(shí)間),然后再將增量(不含刪除數(shù)據(jù))作為開(kāi)鏈數(shù)據(jù)插入到目標(biāo)表中即可;
通常建三張臨時(shí)表,一個(gè)名為VT_NEW_編號(hào),用于將各組當(dāng)日最新數(shù)據(jù) (不含刪除數(shù)據(jù))轉(zhuǎn)換加載到VT_NEW_編號(hào);第二張表名為VT_INC_編號(hào),用VT_NEW_編號(hào)與目標(biāo)表中的昨日的數(shù)據(jù)進(jìn)行對(duì)比后找出真正的增量數(shù)據(jù)放入VT_INC_編號(hào);第三張表名為VT_DEL_編號(hào),將刪除增量數(shù)據(jù)轉(zhuǎn)換加載到VT_DEL_編號(hào);最后再將最終目標(biāo)表的開(kāi)鏈數(shù)據(jù)中PK出現(xiàn)在VT_INC_編號(hào)或VT_DEL_編號(hào)中的進(jìn)行關(guān)鏈處理,最后將VT_INC_編號(hào)中的所有數(shù)據(jù)作為開(kāi)鏈數(shù)據(jù)插入最終目標(biāo)表即可;
此算法通常用于有刪除操作的常規(guī)狀態(tài)表,并且要求提供全量數(shù)據(jù),用以對(duì)比出刪除增量;適合這類(lèi)算法的源表在源系統(tǒng)中會(huì)新增、修改、每天將當(dāng)日末的最新全量數(shù)據(jù)取過(guò)來(lái)外,分別找出真正的增量數(shù)據(jù)(新增、修改)和刪除增量數(shù)據(jù),用它們將目標(biāo)表中屬性發(fā)生修改的開(kāi)鏈數(shù)據(jù)(有效記錄)進(jìn)行關(guān)鏈操作(即END_DT關(guān)閉到當(dāng)前業(yè)務(wù)時(shí)間),然后再將最新數(shù)據(jù)中真正的增量數(shù)據(jù)(不含刪除數(shù)據(jù))作為開(kāi)鏈數(shù)據(jù)插入到目標(biāo)表即可;
通常建兩張臨時(shí)表,一個(gè)名為VT_NEW_編號(hào),用于將各組當(dāng)日最新全量數(shù)據(jù)轉(zhuǎn)換到VT_NEW_編號(hào);另一張表名為VT_INC_編號(hào),將VT_NEW_編號(hào)與目標(biāo)表中昨日的數(shù)據(jù)進(jìn)行對(duì)比后找出真正的增量數(shù)據(jù)(新增、修改)和刪除增量數(shù)據(jù)放入VT_INC_編號(hào),注意將其中的刪除增量數(shù)據(jù)的END_DT置以最小日期(借用);最后再將最終目標(biāo)表的開(kāi)鏈數(shù)據(jù)中PK出現(xiàn)再VT_INC_編號(hào)或VT_DEL_編號(hào)中的進(jìn)行關(guān)鏈處理,然后將VT_INC_編號(hào)中所有的END_DT不等于最小日期數(shù)據(jù)(非刪除數(shù)據(jù))作為開(kāi)鏈數(shù)據(jù)插入最終目標(biāo)表即可;
此算法基本等同與常規(guī)拉算法,只是在最后一步只將屬性非空即非0的記錄才作為開(kāi)鏈數(shù)據(jù)插入目標(biāo)表;
此算法基本等同于基于增量數(shù)據(jù)刪除拉鏈算法,只是在最后一步只將屬性非空及非0的記錄才作為開(kāi)鏈數(shù)據(jù)插入目標(biāo)表;
此算法基本等同于基于全量數(shù)據(jù)刪除拉鏈算法,只是在最后一步只將屬性非空及非0的記錄才作為開(kāi)鏈數(shù)據(jù)插入目標(biāo)表;
此算法是對(duì)每一組只將PK在當(dāng)前VT_NEW_編號(hào)表中未出現(xiàn)的數(shù)據(jù)再插入VT_NEW_編號(hào)表,最后再將PK未出現(xiàn)在目標(biāo)表中的數(shù)據(jù)插入目標(biāo)表,以保證只進(jìn)那些PK未進(jìn)過(guò)的數(shù)據(jù);
此算法是源表中有日期字段標(biāo)識(shí)當(dāng)前記錄的生效日期,本算法通過(guò)對(duì)同主鍵記錄按這個(gè)生效日期排序后,一次首尾相連行形成一條自然拉鏈的算法
關(guān)于teradata數(shù)據(jù)庫(kù)行轉(zhuǎn)列函數(shù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
標(biāo)題名稱(chēng):Teradata數(shù)據(jù)庫(kù)行轉(zhuǎn)列函數(shù)簡(jiǎn)介(teradata數(shù)據(jù)庫(kù)行轉(zhuǎn)列函數(shù))
本文地址:http://m.fisionsoft.com.cn/article/ccidoge.html


咨詢(xún)
建站咨詢(xún)
