數據倉庫事實表分類[轉]

1)在數據倉庫領域有一個概念叫Transaction fact table,中文一般翻譯為“事務事實表”。

事務事實表是維度建模的數據倉庫中三種基本類型事實表中的一種,另外兩種分別是周期快照事實表和累積快照事實表。?

事務事實表與周期快照事實表、累積快照事實表使用相同的一致性維度,但是它們在描述業務事實方面是有著非常大的差異的。

事務事實表記錄的事務層面的事實,保存的是最原子的數據,也稱“原子事實表”。事務事實表中的數據在事務事件發生后產生,數據的粒度通常是每個事務一條記錄。一旦事務被提交,事實表數據被插入,數據就不再進行更改,其更新方式為增量更新。?

事務事實表的日期維度記錄的是事務發生的日期,它記錄的事實是事務活動的內容。用戶可以通過事務事實表對事務行為進行特別詳細的分析。

通過事務事實表,還可以建立聚集事實表,為用戶提供高性能的分析。

2)在數據倉庫領域有一個概念叫Periodicsnapshot fact table,中文一般翻譯為“周期快照事實表”。

周期快照事實表以具有規律性的、可預見的時間間隔來記錄事實,時間間隔如每天、每月、每年等等。典型的例子如銷售日快照表、庫存日快照表等。

周期快照事實表的粒度是每個時間段一條記錄,通常比事務事實表的粒度要粗,是在事務事實表之上建立的聚集表。周期快照事實表的維度個數比事務事實表要少,但是記錄的事實要比事務事實表多。

周期快照事實表的日期維度通常是記錄時間段的終止日,記錄的事實是這個時間段內一些聚集事實值。事實表的數據一旦插入即不能更改,其更新方式為增量更新。

3)在數據倉庫領域有一個概念叫Accumulatingsnapshot fact table,中文一般翻譯為“累積快照事實表”。

累積快照事實表和周期快照事實表有些相似之處,它們存儲的都是事務數據的快照信息。但是它們之間也有著很大的不同,周期快照事實表記錄的確定的周期的數據,而累積快照事實表記錄的不確定的周期的數據。?

累積快照事實表代表的是完全覆蓋一個事務或產品的生命周期的時間跨度,它通常具有多個日期字段,用來記錄整個生命周期中的關鍵時間點。另外,它還會有一個用于指示最后更新日期的附加日期字段。由于事實表中許多日期在首次加載時是不知道的,所以必須使用代理關鍵字來處理未定義的日期,而且這類事實表在數據加載完后,是可以對它進行更新的,來補充隨后知道的日期信息。

舉例來說,

訂貨日期
預定交貨日期
實際發貨日期
實際交貨日期
數量
金額
運費?

區別比較:

根據Kimball的數據倉庫理論,事實表分為三種類型:交易事實表、周期快照事實表和累積快照事實表。以下是這幾種事實表之間的區別。

特點

交易事實

周期快照事實

累積快照事實

時間/時期

時間

時期

時間跨度較短的多個時點

粒度

每行代表一個交易事件

每行代表一個時間周期

每行代表一個業務周期

事實表加載

新增

新增

新增和修改

事實表更新

不更新

不更新

新事件產生時更新

時間維

業務日期

時期末

多個業務過程的完成日期

事實

交易活動

時間周期內的績效

限定多個業務階段內的績效

?

轉載于:https://www.cnblogs.com/qqflying/p/9491490.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253773.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253773.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253773.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌入式系統文件系統比較 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs

Linux支持多種文件系統,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類文件系統 進行統一管理,Linux引入了虛擬文件系統VFS(Virtual File System),為各類文件系統提供一個統一的操作界面和應用編程接口。 …

Codeforces Beta Round #17 C. Balance DP

C. Balance題目鏈接 http://codeforces.com/contest/17/problem/C 題面 Nick likes strings very much, he likes to rotate them, sort them, rearrange characters within a string... Once he wrote a random string of characters a, b, c on a piece of paper and began t…

時鐘切換處理(Verilog)

隨著各種應用場景的限制,芯片在運行時往往需要在不同的應用下切換不同的時鐘源,例如低功耗和高性能模式就分別需要低頻率和高頻率的時鐘。兩個時鐘源有可能是同源且同步的,也有可能是不相關的。直接使用選擇邏輯進行時鐘切換大概率會導致分頻…

SSH整合中,使用父action重構子類action類.(在父類中獲取子類中的泛型對象)

import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type;import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven;/*** 文件名 : BaseAction.java* 提取SSH中的action類* 由于SSH的action中采用模型驅動的方法,使用泛…

用BusyBox制作Linux根文件系統

STEP 1:構建目錄結構 創建根文件系統目錄,主要包括以下目錄 /dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin /sys #mkdir /home/rootfs #cd /home/rootfs #mkdir dev etc lib usr var proc tmp home roo…

Angular Elements 組件在非angular 頁面中使用的DEMO

2019獨角獸企業重金招聘Python工程師標準>>> 一、Angular Elements 介紹 Angular Elements 是伴隨Angular6.0一起推出的新技術。它借助Chrome瀏覽器的ShadowDom API,實現一種自定義組件。 這種組件可以用Angular普通組件的開發技術進行編寫,…

(轉) android里,addContentView()動態增加view控件,并實現控件的頂部,中間,底部布局...

http://blog.csdn.net/bfboys/article/details/52563089轉載于:https://www.cnblogs.com/zhangminghan/p/6182909.html

verilog仿真——$test$plusargs 和 $value$plusargs

VERILOG的參數可以用define和parameter的方式定義,這種方法要求我們在編譯前將變量必須定義好,編譯完成之后再也不能修改; 然而,有時候我們在進行仿真時,需要從外部傳遞參數,這個要求怎么滿足呢&#xff1…

盧卡斯定理

盧卡斯定理:解決一類組合數取模問題 A、B是非負整數,p是質數。AB寫成p進制:Aa[n]a[n-1]...a[0],Bb[n]b[n-1]...b[0]。 則組合數C(A,B)與C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0]) modp同余 即:Lucas(n,m,p)c(n%p,m%p)*Luc…

內核理解

在純技術方面,內核是硬件與軟件之間的一個中間層。其作用是將應用程序的請求傳遞給硬件,并充當底層的驅動程序,對系統中的各種設備和組件。內核啟動init程序作為第一個進程,該進程負責進一步的系統初始化操作,并顯示登…

loadrunner中對https證書的配置

1、準備好網站的證書,一般證書是cer格式; 2、因為loadrunner只支持pem格式的證書,所以要將證書轉換格式,利用openssl工具;(或者直接讓開發提供pem格式的證書)3、得到pem格式的證書之后&#xff…

Android 9 Pie震撼來襲 同步登陸WeTest

作者:We Test小編商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。原文鏈接:wetest.qq.com/lab/view/40…WeTest 導讀2018年8月7日,Google對外發布最新 Android 9.0 正式版系統,并宣布系統版本Android P 被正…

Datapath綜合代碼規范(Verilog)

一、一般準則 1、有符號數運算 利用類型“signed”完成有符號數運算,而不是用無符號數模擬有符號數運算。這樣可以得到更好的QoR。在資源報告中檢查操作數的類型和大小。 2、符號/零擴展 盡量不要手動擴展。verilog利用signed/unsigned會自動完成擴展。這樣代碼可…

Linux下V4L2編程小結

http://www.360doc.com/content/12/0318/16/532901_195392228.shtml :davind dm365linux移植 http://www.embedhq.org/html/jsbw/2010/0425/390.html :Linux下V4L2編程小結

百(垃)度(圾)之星初賽B hdu6114

Chess 題意:中文題 思路:其實就是在n個格子上放m個棋子(n>m)(xjb套Lucas的板子... AC代碼: #include "iostream" #include "string.h" #include "stack" #include "…

variable 'xxx' unsafe in 'case'的處理

問題描述: case get(?Player_LoopTaskInfo) of{TargetCnt, TaskStar, TaskExp} ->ok;_ ->throw("not_found_loop_task_info") end 在case語句中,這樣寫,編譯時,會提示變量unsafe,解決編譯器報錯的…

SDUT 3347 數據結構實驗之數組三:快速轉置

數據結構實驗之數組三&#xff1a;快速轉置 Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 轉置運算是一種最簡單的矩陣運算&#xff0c;對于一個m*n的矩陣M( 1 < m < 10000,1 < n < 10000 )&#xff0c;它的轉置矩陣T是一個n*m的矩陣&…

linux設備和驅動加載的先后順序

Linux驅動先注冊總線&#xff0c;總線上可以先掛device&#xff0c;也可以先掛driver&#xff0c;那么究竟怎么控制先后的順序呢。 Linux系統使用兩種方式去加載系統中的模塊&#xff1a;動態和靜態。 靜態加載&#xff1a;將所有模塊的程序編譯到Linux內核中&#xff0c;由do_…

CMOS 圖像傳感器——Skipping 和 Binning 模式

在通常的CMOS讀取方式中&#xff0c;由于像素讀取規模的差異&#xff0c;不同的分辨率對應不同的幀率。在通道帶寬固定的前提下&#xff0c;想要提高幀率就要考慮是否需要縮小視野&#xff08;外圈裁切&#xff09;。若不希望視野縮小&#xff0c;需要減少采樣的分辨率。 常用的…

DAVINCI DM365-368中 linux-2.6.32的移植

http://www.360doc.com/content/12/0318/16/532901_195392228.shtml 很詳細的一篇文章&#xff0c;在此感謝了&#xff01; http://www.rosoo.net/a/201001/8316.html DM系列芯片外設詳細介紹