三種DSO(標准DSO、寫優化DSO、直接更新DSO)、標准DSO覆蓋合計規則


89855ba3-35d8-409c-a647-364fd2f1e279
  • 標准Standard DSO
56b9570b-26bb-4a19-bf83-9bb51a3baa73
標准DSO有三張表:
791feac6-6e74-4b9f-8707-cbd7f400e221
 
標准DSO覆蓋合計規則:
數據從源抽取到標准DSO中時,在同一抽取請求中,相同業務主鍵的數據會合並(合並的方式有覆蓋與合計,合計又可為MIN、MAX、SUM中的一種,具體轉換規則中可為哪一種合計,則要看Key Figure中的Aggregation聚合中設置的是哪一種合計方式,具體請參考“Key Figure中的Aggregation決定了DSO/CUBE轉換規則中的Aggregation合計方式”章節)后存入到New中;抽取數據到DSO New表中時,不管抽取請求中的新數據是否與當前New表中已有的數據主鍵相同,新抽取請求中的數據合並(相同業務主鍵才會合並)后,再以新數據記錄存入New表,並不會與New表中現有相同業務主鍵數據發生合並(原因是New中的主鍵為技術主鍵,並技術主鍵與抽取請求有關,同一抽取請求主對應着同一SID,所以不同抽取請求的數據即使業務主鍵相同的記錄也是不會被合並的,合並只發生在同一抽取請求中,且相同業務主鍵數據之間);如果New中有相同業務主鍵的數據(多次抽取請求形成的),或者將要被激活的記錄與現有Active表里的數據業務主鍵相同,並且DSO中設置中勾選了“34896934-0e4a-45da-a543-8d1c635ccf39”選項,則在Active時抽數請求會報紅(其他不報錯即不重復的記錄也不能存入到Active表時,報錯后整個抽數請求所包括的數據都不會插入到激活表里),如果未勾上,則Active時不會報錯,並且相同業務主鍵的數據在Active表進行合並,並在Change Log表中記錄數據變化過程;
 
New表中的主鍵為技術主鍵
6c6163c5-add8-4001-acb9-f6bb00ebad67
Active表中的主鍵為業務主鍵
e597386d-82b4-4478-822c-541080b6dfd7
報表就是直接從該表中抽數,以及上層其他數據目標初始化時從該表里抽數,但上層其他數據目標的Detal更新需從Change Log表里抽數
Change Log表中的主鍵為技術主鍵
1dfbbd31-bea7-4bf6-90d2-d29770bb0d44
激活時,如果某條數據沒有發生任何變化,且轉換規則的Aggregation設定是覆蓋方式,則不會在Chang Log表里產生新的日志記錄,但只要修改了某個非主鍵字段,則會記下日志;但如果轉換規則的Aggregation設定的是合計方式時,不管數據是否發生變化,都會記日志
 
  • 寫優化Write-Optimized DSO
055e63d4-63be-4842-813e-ea4a68c1d5d8
寫優化DSO只有一張Active表,數據不需要激活
06ca5786-f0a9-46d7-9e4d-9083d205dcc4
數據庫表中的主鍵為:
d360aa18-3a7d-48f9-98f9-46dbcac361b1
如果去掉了寫優化DSO的”不檢測數據唯一性df419833-e3f6-4c37-b8dc-0b2c72012a0c的勾時,表示數據存入Active表中時會檢查數據是否重復,此如果有語義上相同主鍵的數據時,抽數時抽取請求會報紅,整個請求中包含的數據(包括重復與不重復的數據)都不能存入到Active表中;在勾上c5af6d97-280d-4e81-890a-09a779e2b3fc,表示不再會檢測數據唯一性,此時即使Key Figure關鍵值字段規則設置成了合並,也並不會將新抽取上來的數據與相同業務主鍵的數據進行合並(注:即使同一抽取請求中有相同業務主鍵的記錄也不會合並);
注:寫優化DSO轉換規則的Key Figure的Aggregation雖然可以設置覆蓋或合計,但對寫優化的DSO是不起任何作用的,不管合並方式設置成什么(MOV、MIN、MAX、SUM),業務鍵相同的數據也不會發生合並
 
寫優化的DSO只用於只有新增、沒有刪除與修改的數據的數據源,即抽取的這類數據是不會發生變化的,只會新增(如:由於零售企業的銷售明細數據量大並且需要日結,所以零售企業的銷售小票明細數據只有增加,對這類的數據可以使用寫優化的DSO來做)。並且從數據源中抽數到寫優化的DSO所對應的Active表里時,數據不會發生合並計算操作,而是原樣將數據源的數據拷貝到表里,所以數據寫入的速度也會快點

 
  • 直接更新Direct Update DSO
d213b0d7-0dc9-4893-a28a-fa7fe65b7845
直接更新的DSO不能通過DTP抽數,因為此類型DSO無法創建DTP(也無法創建Transformation),所以該類DSO無法通過ETL來加載數據,只能通過其他Application將數據寫到里面,如將某個Query報表查詢出來的數據保存到該類DSO中。
直接更新的DSO也只有一張Active表,不過該表不是通過DTP上傳數據,而是通過其它方式抽數(非DTP 的Request方式):
3723a1ce-f490-47d6-a8ba-dd478a8cf537
該類DSO所對應的數據庫表的主鍵是由業務字段組成的主鍵,而不是技術字段(所以數據在寫入時,業務主鍵相同數據也會發生合並計算,這與標准DSO是一樣的)
下面演示將某個Query報表結果數據存儲到此類型的DSO中
 
先創建一個Query用作直接更新DSO的數據源:
37b2ca64-5174-4d06-98b2-0e246d9c7922   046cc3b0-514e-483f-a0f8-73620dc66d1f
通過事務碼:RSANWB將Query的數據存儲到DSO中:
選擇應用,這里會掛到General節點下
12f5f3fd-b3fb-4bbf-b986-e7b7e3306b94    3629f4d5-81f4-4445-97ec-ea01cd319b01
將數據源中的字段與DSO中的數據分配對應起來:
305864b1-8828-4f3a-a8ad-609ef66548c5   0d7db02c-aca2-45dd-b9dc-a79baf74b8e6 
做好后,再執行即可將Query運行出來的數據存儲直接更新類型DSO中:
ef5daef3-a6da-4f2d-830d-7f0e5ff2a4a8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM