三種DSO的區別

2021-09-12 07:05:34 字數 2531 閱讀 8536

資料從源抽取到標準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表中記錄資料變化過程;

報表就是直接從該表中抽數,以及上層其他資料目標初始化時從該表裡抽數,但上層其他資料目標的detal更新需從change log表裡抽數

啟用時,如果某條資料沒有發生任何變化,且轉換規則的aggregation設定是覆蓋方式,則不會在chang log表裡產生新的日誌記錄,但只要修改了某個非主鍵字段,則會記下日誌;但如果轉換規則的aggregation設定的是合計方式時,不管資料是否發生變化,都會記日誌

寫優化dso只有一張active表,資料不需要啟用

如果去掉了寫優化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表裡時,資料不會發生合併計算操作,而是原樣將資料來源的資料拷貝到表裡,所以資料寫入的速度也會快點

直接更新的dso也只有一張active表,不過該錶不是通過dtp上傳資料,而是通過其它方式抽數(非dtp 的request方式):

該類dso所對應的資料庫表的主鍵是由業務字段組成的主鍵,而不是技術字段(所以資料在寫入時,業務主鍵相同資料也會發生合併計算,這與標準dso是一樣的)

下面演示將某個query報表結果資料儲存到此型別的dso中

三種Python IDE的區別

剛學習了python,感覺很簡單也很有趣,一開始說這是小學生都可以學習的語言我還不信,現在信了信了。上課老師說了一款python ide pycharm 這是一專注於python的整合開發環境pycharm,是來自jetbrains公司的全功能python開發環境。過去的15年裡jetbrains一...

三種app的區別

開發成本低中 高維護更新 簡單簡單 複雜體驗差中 優store或marke認可 不認可認可 認可安裝 不需要需要 需要跨平台優優 差 混合開發有兩種開發模式 h5主導 只需要h5開發工程師,借助一些封裝好的工具實現應用的打包與呼叫原生裝置的功能,如hbuilder的雲端打包功能。優點 1.方便更新又...

三種執行緒的區別

nsthread 是一種輕量級的執行緒,顯式的執行緒建立方法,很直白的建立了乙個執行緒,可以對執行緒做一下詳細的處理,比如說名稱,優先順序 缺點 需要對共享資料做加鎖處理 需要自己管理執行緒的生命週期 比如說建立 gcd 是基於c語言的,不需要關注執行緒的生命週期,關注點 放在需要處理的任務就可以,...