PM面試分為BW、BO兩部分,根據顧問的簡歷和應聘的崗位所側重的問題不同。
BW包括基礎知識、增量、增強、LO抽取、數據源。
BO包括 CR、CR、WEBI、UNI。
一、 基礎知識 技術面試
1、 BW中的數據對象有Info Object,Cube,DSO,Info set,Multi-provider,visual provider. 其中IO,Cube,DSO是實際的物理存儲對象,Info set和 Multi-provider可以理解成為建立在其他物理存儲對象上的視圖,是不存儲數據滴
2、 接上一點,那為什么要用到Info set和Multi-Provider呢?那要從BEx報表的展現機制來說了.在BEx報表設計中,你只能選取一個Info provider作為數據池來構建你的報表,如果你所需要的數據放在多個Cube或者DSO里面的話,那么你就需要一個工具把這些info provider集合在一起變成一個info provider,這個工具就是info set 或者是 Multi-provider
3、 還是接着上一點,說得這里別人面你的時候就肯定順水推舟的問你Info set 和Multi-provider的區別是什么:info set 連接方式取的是數據的交集,而Multi-provider取的是數據的並集。
4、 Info Object是BW中最小的存儲單位.
5、 DSO分為標准DSO,寫優化DSO,直接更新的DSO.
6、 實際的項目大多數喜歡用3層的數據模型,底層是寫優化的DSO,記錄delta和保證數據與PSA的一致,第二層用標准DSO,第三層用Cube…用level 1的DSO更新level 2的DSO的時候,一般都用SUM的方式.2
7、 建立模型時的導航屬性具體含義是什么? 是在做查詢的時候用的,過程是這樣的,首先在主數據的導航屬性里面選擇某一個字段,例如物料主數據的物料組設置成 了導航屬性,然后在INFOCUBE里面還有一個設置導航屬性的地方,這里就是該INFOCUBE里面全部特性的導航屬性的和(如果在特性里面沒有選擇導航屬性,在INFOCUBE里面也找不到),在 INFOCUBE也選中該屬性為導航屬性后,物料組就可以作為物料的一個導航屬性存在了,在做查詢 的時候,物料組(在特性里面物料的下拉菜單中就會出現)就可以成為一個查詢條件了或者做其他限制了。
8、 導航屬性如何操作?導航屬性3步,1,首先不是僅屬性,2,打開導航屬性開關,並寫描述,3,在cube中打鈎。
9、 DSO中生成 sid選項有何作用?DSO用於BEx報表時速度更快。
10、 如果DSO的key不夠用怎么辦?dso的key最多是16個,如果一個表中的key超過16個了,可以把key合並,比如:key1(10)、 key2(6),可以建一個長度是16的key,把兩個字段上述到一個字段里。一般dso中很少用到,在cube中最多有13個維度,在cube中可以把兩個dimension id合並成一個dimension id;
11、 SET UP表放什么數據?信息包中什么用到SET UP表?SET UP表里放Init(初始化)之前的所有數據。因此FULL和Init(初始化)都要經過SET UP表。所以信息包里,的F和I用到SET UP表。
12、 兩個數據源一個全量、一個增量,上層怎樣架構?
13、 你是怎么理解性能調優的?CUBE優化包括壓縮,分區,聚集和查詢優化。
14、 INFOCUBE中的壓縮原理及優缺點?優點:合並請求號,把數據合並在一起,這樣,運行速度快,節省空間。缺點:無法按照請求號刪除數據,因為合並后,請求號就沒有了。
15、 CUBE壓縮后有幾張表。(cube有幾張表)?兩張表,一個是F表,一個是E表。壓縮后的數據放在E表中。激活后CUBE就會有很多表了,維表啊,SID表啊等等。
16、 多立方體 虛擬立方體 信息集3者區別?
17、 RSA5, RSA 6, RSA 7各代表什么意思?RSA 5:顯示Delivery版本的BI CONTENT,可以激活BI CONTENT。RSA 6:顯示Active版本的BI CONTENT。后台處理數據源事務碼。RSA 7:用來查看Delta Queque中的內容。
18、 請求號怎么收集?選擇需要收集的對象,右鍵—-更改—-點小車—-打包,SE09檢查是否收集全。請求號收集是實施顧問來做,打一個包釋放出去;傳是IT部門來傳(BASIS)。
19、 你們項目上的開發環境是怎么樣的?是否有測試機?我們項目上沒有測試機,在開發機上開發完后直接在開發機上測試,測試后沒問題后直接傳到生產機。開發機—-生產機。或者我們項目上有測試機,開發機上開發完后傳到測試機測試,沒問題后再傳到生產機。
20、 常用的T-CODE。。。
RSA1:建模 RSA3:數據抽取,數據源提取檢驗 RSDS:查看數據源
RSRV:數據庫的統計,可以得到維度表和事實表的大小。Debug測試。
SM59:測試RFC連接 SM37:看后台數據 SM12:解鎖(解開被鎖定目標)
SE11,SE16,SE16N:數據庫表查詢和創建
SE09:看傳輸請求號,釋放。
SBIW:數據源后處理 STMS:傳輸(basis做的)RZ11:設定gateway的連接數
SU01:創建用戶(權限) PFCG:把ROLE分配到用戶名下(權限)
VF03:顯示發票 VA03:看銷售訂單 XD03:銷售主數據 VL03:交貨單
MM03:物料
LBWE:定制事務碼 KNA1:客戶主數據
CMOD:數據源和BW增強 SMOD:查CMOD使用組件的名字
RSPC:處理鏈
SPRO:加載時無字符串時查看用的 RSRT:query 監控器事務碼
。。。。。。
二、 增量
1、 什么是DELTA機制?所有的Delta數據,在傳到BW之前,都會先到Delta Q里面,再從DeltaQ到BW.Delta Q可以用RSA7查看.
2、 Delta數據從原始表到Delta Q, 有兩種方式:對於LO的數據源,是系統將Delta數據push到Delta Q的,然后在InfoPackage執行的時候,再把數據從Delta Q搬到BW.這就是PUSH的方式. 對於非LO的數據源,大部分采用time stamp的方式,在InfoPackage執行的時候,系統根據time stamp去源數據表獲得delta數據,這些數據被送往Delta Q之后,緊接着就被搬到BW了.這就是所謂的PULL的方式.;
3、 總結一下:/ W1 N* [5 W3 K% y8 l0 L: {
PULL:當BW端請求數據時,R3端才做出回應,執行相關Function Module,把數據寫入delta queue
PUSH:數據自動寫入delta queue,當BW端請求數據時,直接去delta queue中抽取
4、 什么是增量隊列?(delta queue)增量隊列是新建或已更改數據記錄的數據儲存形式(上次數據請求以來出現的數據記錄)。從系統收到數據請求時,會使用源系統中的更新流程或錄入自動寫入增量隊列。
5、 增量機制:ODS增量機制最重要的信息對象ORECORDOMODE
該信息對象實在ODS中會自動添加,手工無法添加,在轉換中,需要通過點選技術組進行轉換鏈接,也可以編寫結束流程進行賦值
幾個重要的值:余像:(在對原數據進行覆蓋時,新的數據在更改日志中顯示為空)
X 前像(在對源數據進行覆蓋時,會有一條源數據反向數據產生在更改日志中,顯示為X)
A 加(在對源數據進行累加時,會在更改日志中顯示為A)
N 新圖像(在第一次加載數據時,會在更改日志中顯示N)
R反轉像(在對源數據進行刪除時,會在更改日志中顯示為R)
6、 一般數據源的delta怎么實現的?一般數據源(自建數據源)的delta的類型默認都是aie,就是支持后像的,所以必須先到dso中然后再到cube。
7、 Delta Process增量方式?R3通過SE11查看表ROOSOURCE,BW通過SE11查看表RSOLTPSOURCE,可以查看數據源的抽取機制。
如ABR(after before reverve),是前,后,反轉鏡像更新模式,支持覆蓋也支持累加,所以適用於所有的增量方式,可以更新到DSO或者CUBE。
如AIE(after image),是后鏡像,只支持覆蓋,不支持累加,所以不能直接加載到CUBE,只能加載到DSO。FI中此種增量處理方式應用較多。
如ADD,只支持累加,用附加鏡像的更新方式,所以既可以更新到DSO,也可以更新到CUBE。
三、 增強
1、 什么是數據源增強?DATASOURSE的增強其實就是在標准DATASOURSE上面,修改結構,然后在EXTRACT數據的時候通過寫ABAP命令取到自己要的數據放到DATASOURSE中
2、 項目上增強的步驟。
結構增強——增強字段(RSA6更改數據源)
功能增強——往字段中填數,CMOD選項目-選增強出口-寫例程。
也可以簡化說:分為兩步:結構增強和功能增強
結構增強是給數據源增加字段,功能增強是利用abap代碼給增加的字段填數。
3、 LO做增強以后和FI-CO做增強后的區別?FI-CO就是不用刪除setup表,而LO做初始化后腰刪除setup表
4、 數據源增強怎么做?bw這邊增強做過哪些?cmod做增強,數據源增強的話,就是維護提取結構append structure(增強),標准數據源的話,增強可以用pull,把右邊移到左邊,增加字段。 bw這邊做增強就是做些報表的用戶出口變量。
5、 項目開始后,用戶需要增加字段,該怎么辦?
數據源做增強,增加字段
維護結構,刪除SETUP表,重新復制數據源
刪除CUBE里的數據,然后重新上數據
6、 增強項,增強出口?數據源增強:RSAP0001,報表變量增強:RSR00001.
四、 LO抽取
1、 R3目前有哪幾種常見的數據提取方法? LO提取,通用提取,CO-PA提取。
2、 LO的增量更新有哪幾種,大概描述一下?主要用的就是abr,它支持前像,后像,反像,新像,所以可以支持dso或者cube都可以,並且是用push的方式到delta queue中的。
3、 LO提取的UPDATE MODE有哪幾種?Direct Delta:直接更新; Unserilized V3 update:無序的V3job, Queued Delta:隊列增量, Serialized V3 Update。
4、 LO抽取的步驟
先進源系統 傳數據源,維護提取結構,維護生成數據源
然后在BW系統 復制元數據,建模
最后上數,刪除設置表,提取設置表,初始化數據,增量數據。
也可以說下圖的13個步驟:
(1:傳輸datasource .2:維護提取結構。3:維護/生產datasource 。)4:復制和激活sap bi中的datasource 。5:維護數據目標(datastore對象,infocube).6:維護datasource和目標數據之間的轉換。7:創建數據傳輸流程。8:激活提取機構。9刪除設置表執行設置提取。10選擇更新方法。11增量初始化的infopackege。(12:必要時計划v3集中運行)。13:增量上載的 infopackage。
五、 數據源
1、 一般數據源創建的步驟?找需要的原始表—SE11根據表建VIEW—RSO2根據VIEW建數據源—到BW端復制數據源。
2、 什么是標准數據源?標准數據源其實就是一個結構體+提取器,(提取器就是一段寫好的ABAP代碼)。
3、 Copa數據源與其他數據源區別?Copa的delta處理機制屬於cube,就是說抽取數據后,生成的是匯總的數據,也就是cube。
4、 SD中用的哪些數據源 ?開票2lis_13_vditm,訂單2lis_11_vaitm,出庫單2lis_12_vcitm
5、 16個主要業務數據源
業務模塊 數據源 說明
FI
財務
分析 FI-AA
資產會計 0FI_AA_11 FI-AA:交易
0FI_AA_12 FI-AA:已過賬的折舊
FI-AP
供應商(應付) 0FI_AP_4 供應商:帶有增量提取的行項目
FI-AR
客戶(應收) 0FI_AR_4 客戶:帶有增量提取的行項目
FI-GL
總分類賬 0FI_GL_1 總分類賬:業務量
0FI_GL_4 總分類賬:帶有增量提取的行項目
0FI_GL_6 通過增量提取的銷售分類賬的總賬成本
0FI_GL_10 總分類賬:領先分類賬余額
MM物料管理 2LIS_03_BF 庫存管理的貨物移動
2LIS_03_BX 庫存管理的庫存初始化
2LIS_03_UM 重新評估
SD銷售分銷 2_LIS_11_VAITM 銷售憑證項目數據
2_LIS_13_VDITM 開票憑證項目數據
PA(HR)
人事管理 0HR_PA_0 員工
0HR_PA_1 人事事件
PY(工資核算) OHR_PY_1 工資發放數據
BO部分
1、 最近的項目是用什么做報表?
我們項目上用BO,主要是 水晶報表、webi。
2、 BW與BO的連接方式?
CR:QURREY—-CR
水晶報表不需要通過語義層連接BW QUERY,它可以直接連接BW QUERY.
WEBI:QURREY—-UNV—-WEBI
CX:QURREY—-UNV—-QAAWS—-CX
QURREY—-WEBI\UNV—-Liveoffice—-CX
水晶易表和WEBI都要通過語義層來連接BW QUERY.
3、 最近項目BO的版本?BO XI 3.1的版本
4、 WEBI\CR\CX三者的區別?
WEBI注重多維分析及查詢、鑽取功能;格式不夠靈活;
CR格式靈活、適合制作各種格式的報表;
CX注重動態分析和WHAT-IF分析,一般給中、高層領導,數據量不宜太大。
5、 WEBI中有哪幾種報表格式?垂直表、水平表、交叉表。
6、 為什么 BW –-> crystal report - live office - Xcelius 優於 BW – Uni - QAAWS - Xcelius ?crystal report有緩存,數據顯示快
7、 什么是環路?出現環路怎么解決?環路是一組連接,它定義了經過模式中的一組表的閉合連接。當連接形成查找表之間的多個路徑時,將出現環路。
別名或上下文或2者結合一起用。
8、 檢測和解決環路的一般過程?
1) 驗證是否設置了所有基數
2) 如果模式需要別名來解決任何環路,請運行“檢測別名”進行標示
3) 插入“檢測別名”建議的候選別名
4) 如果模式需要上下文來解決僅使用別名無法解決的環路,請運行“檢測上下文”進行標示
5) 實施“檢測上下文”建議的候選上下文
6) 通過創建對象並運行查詢來測試已解決的環路
9、 解決斷層陷阱和扇形陷阱?斷層陷阱是當兩個多對一連接匯聚在一個表上時三個表之間的一種連接路徑,采用別名和上下文。
10、 不同QURREY中的相同名稱的維度在WEBI中怎么處理?合並維度。以達到同一維度對不同QURREY中度量的控制。
11、 query中如何設置可以提供報表的執行效率?提高報表速度:在query designer中盡量把明細的字段放在”自由行“里,提高報表的查詢速度;盡量用多的表格,少用圖片;
12、 做好的報表怎樣從開發機傳到生產機?用Publishing Wizard和Import Wizard,發布向導和導入向導。我們的項目都是客戶IT部門來傳,客戶有規定不允許我們外部顧問來操作這個。不過這個也很簡單,只要用1中的兩個工具就行了。
HR面試:
1、 現在是否在項目上?剛出項目,目前在看機會;
2、 你最快可以什么時候到位?如果前面回答不在項目上,就可說拿到OFFER后隨時都可以。
3、 你英語怎么樣?文檔沒問題,溝通會差一點。
4、 你希望入職還是FREE?都可以。優先考慮入職吧。
5、 你目前RATE多少?期望是多少?10K,期望12K。其他待遇一般為:一天100補助,一月一到兩次FLYBACK.
6、 你的BASE地在哪?XX地可不可以?北京,當然其它地方也無所謂,對BASE地無要求。
7、 你的簡歷上的項目都是外部的嗎?(注意入行邏輯要符合)不是的,剛接觸SAP時,是我的一個客戶公司要上SAP項目,讓我去IT部門協助工作,后來對 SAP產生濃厚興趣,就轉到客戶公司做內部顧問,開始自學當然也和當時的外部實施顧問關系比較好,后來成為朋友一直保持聯系。
第一個外部顧問是輔助一些做建模維護工作,最近一個項目是獨立承擔的。
8、 你過去幾年做過什么項目?3個項目,主要是XX行業
9、 最后實施的項目做了多長時間,什么時候開始的?簡單介紹下
4個月,2012年3月初。
最近的項目HR項目:與建立的項目內容相符,介紹內容包括(項目中的模塊、出的報表,都用哪些工具等)
10、 你在項目上主要負責哪一塊?
BW建模、數據抽取、建一般數據源、建信息對象;
BO報表、UNI創建;
寫些技術文檔、業務藍圖、測試文檔;
參與業務需求調研、討論業務方案、模型設計。
11、 你最近的一個項目上有幾個人?5個人:3個BW,1個BO,1個PM;
12、 這個bw是怎么分配工作的?(你項目上人員是怎樣分工的?)3個BW按FICO\MM\HR每人負責一個模塊,1個BO展現報表,PM負責溝通、協調;總共80多張報表,我們三個BW顧問平均每人背20多張左右,有一些需要開發的ABAP做。
13、 你做過哪些報表?(列舉一些你做過的報表?)人資:人員異動分析表、入職統計表、離職統計表、離職原因分析統計表。。。
14、 這些報表的數據源是什么?(最近項目用到了哪些數據源)
HR:0HR_PA_0 0HR_PA_1
15、 你最近的這個項目數據量有多大?百萬級(注意HR項目按人來算數據不多,一般就幾千條。)
16、 最大的一張報表多大?100–200頁吧,HR則幾十頁
17、 bw對一個模塊抽取數據,那么這個模塊有幾個dso ?幾個cube?為什么這么設計?3-4個模型, 7-8個DSO 分層備份數據。
18、 dso和cube加載數據的頻率是怎么樣?數據加載頻率:每天晚上加載;加載量:少則十幾萬條,多則幾十萬條數據
19、 如何把已開發好的模型和查詢傳到生產機?通過se10釋放,然后通過stms傳輸。
20、 協同開發一個模型的時候可以保存到2個請求號中嗎?請說明原因?協同開發時,后開發的,會自動建立一個請求掛在前邊那個請求的下邊。
21、 實際項目中涉及的文檔:開發文檔(更注重於每個點的細節每個dso等里字段、數據來源、data source的定義)、模型設計文檔(更注重於模型架構圖、流程圖)、測試文檔;項目中各個階段有那些輸出物:需求調研階段:需求調研文檔(大概報表的一些信息、報表數量,每個報表展示的大概數據)、設計階段:設計文檔(模型設計文檔)、開發階段(開發文檔)、UT(測試文檔)、uat(用戶的測試文檔)、上線;
22、 客戶經常改需求怎么辦?
嚴格按照需求變更流程走。
項目上的流程為:
1) 如果客戶有需求變更,希望key user向部門領導進行審批了,批完后到內部顧問(IT部門)進行評估,評估后需要更改需求,OK,客戶將需求轉到外部實施顧問並進行討論(有紙質的流程說明)
2) 實施顧問看到需求后,客戶確實要求變更需求,發郵件到PM,PM收到后與實施顧問進行溝通,交涉需求變更流程細則(改動大不大,影響大不,風險大不,影響項目進度),PM了解清楚對工作量也預估出來后(小問題,幾分鍾搞定,PM發郵件我與客戶,可以修改即可),如果變更大則PM會與客戶、KYEUSER、內部顧問開一次會,當然實施顧問也要參加了,如果確定變更則形成文檔,需要商務洽談費用等等。
3) 都確定好了,PM會給實施顧問發郵件開始改動系統,否則之前不能對系統做改動。
23、 請告訴你在工作中遇到的困難,是如何解決的?
我經歷的某次面試,供參考….
1.星形模型的結構講一下
2.導航屬性怎么操作的
3.平面文件怎么操作的?BI3.5怎么加載數據的
4.RSD1/RSA3/SE11/RSA1 事務代碼都代表什么
5.具體做過什么報表?此報表是哪個數據源?報表的行項目,列項目列舉一下
6.限制型key figure和計算型key figure如何操作
7.R/3如何創建數據源
8.做過哪些數據源的加載?是什么DELTA類型
9.在做DELTA之前要做什么
10.錯誤堆棧說一下
11.DSO和Infocube的區別
12.RSA5,RSA6兩個事務代碼有什么區別
13.ODS在7.0中叫什么?ODS里有幾張表
14.LO提取的Queued Delta是怎么實現的
15.你做的是bi什么版本的
16.如果有個平面文件有單價,個數兩列,Cube對應維度是總價,如何實現加載?
17.ABAP命令稍微說一下怎么實現增強數據加載的
一.Delta增量
1.什么是DELTA機制?
答:DELTA就是說在第一次load (加載)數據之后,允許下次在load數據的時候只load 還沒有load過的數據。
2.不同模塊事務數據DELTA加載的操作過程一樣嗎?
答:不一樣,MM有MM的DELTA機制,FI有FI的機制。FI用的處理機制是時間戳,AIE,PULL。LO用的處理機制是DELTA queue,ABR,PUSH。
3.通用提取的數據來源有哪幾種,是否可以DELTA加載?
答:TABLE/VIEW,INFOSET,FUNCTION MODULE,可以DELTA加載。
4.什么是增量隊列?(delta queue)
答:增量隊列是新建或已更改數據記錄的數據儲存形式(上次數據請求以來出現的數
據記錄)。從系統收到數據請求時,會使用源系統中的更新流程或錄入自動寫入增量隊列。
5.infopackage幾種更新模式?
答:1完全更新2初始化增量流程3增量更新(F,I,D)
6.什么是增量更新?
答:增量更新僅為源系統中的請求上次加載以來已創建或已更改(或已刪除)的數據記錄。
7.各個增量流程都支持哪些記錄類型?
答:后像 前像 倒象 新象。
8.平面文件的增量流程原理是怎么樣的?
答:如果增量流程使用平面文件,數據不會通過增量隊列傳輸到BI ,而是直
接從DATASOURSE 加載到PSA。
平面文件肯定不會用到DELTA queue,因為這是數據源的增量原理。
9.0RECORDMODE 是什么?
答:數據狀態
RECORDMODE:有以下幾個值
‘ ‘
在更改記錄或添加數據后傳輸記錄狀態。只有在請求相應的前像時,才會將記錄直接更新到 InfoCube(稍后解釋)。
‘X’ 前像
在更改或刪除記錄前傳輸記錄狀態。所有可以匯總(關鍵值)的記錄屬性必須用加/減沖銷符號進行傳輸。沖銷加/減符號由提取器(缺省)或服務 Service API 負責。這些記錄在 DataStore 對象的非附加(覆蓋)更新中予以忽略。前像補充后像。
‘A’ 附加
如果屬性可以集合,則僅傳輸更改。如果屬性無法集合,則傳輸數據更改或創建后的狀態。記錄可以無限制地更新到 InfoCube,但需要對 DataStore 對象進行附加更新。
‘D’ 刪除
僅傳輸代碼。此記錄只能更新到 DataSource 對象(因此 DataStore也只能更新到 DataSource 對象)。
‘R’ 反轉
此記錄的內容與前像相同。唯一的區別是更新 DSO時:刪除代碼相同的現有記錄。
‘N’ 新像
此記錄的內容與沒有前像的后像相同。創建記錄時,應傳輸新像而不是后像。新像補充倒像。
前像、后像 可用於CUBE的添加 和 DSO的添加、 添加、覆蓋
附加圖像 可用於CUBE添加 和DSO的添加
后像 不能用於CUBE,DSO的覆蓋
倒像 能用於CUBE的添加 和 DSO添加和覆蓋
刪除圖像 不能用於CUBE 可用於DSO的覆蓋
創建一條記錄為10,
然后將10變為8,
然后將記錄刪除。
具體記錄。
創建的時候,
創建一條記錄10,其 RECORDMODE 為 “ ”,代表新創建記錄,
要將記錄更新為8,有兩種方式,
一種為:
增加一條前像,-10,其RECORDMODE為“X”
然后增加一條新記錄8,其RECORDMODE為“ ”
另一種為:
附加項,增加一條記錄-2,其RECORDMODE為“A”
前像和反像的區別?????
刪除記錄,
兩種方式:
增加一條沖銷記錄-8,其RECORDMODE為“R”,
增加一條記錄記錄為空,其RECORDMODE為“D”。
增量流程:ABR,使用前像、后像、新像、倒像。
ADD,使用附加像。
AIE,僅使用后像。
10.什么是增量
答:增量就是業務數據在初始化后的變化和增加的量。(增加數據)
11.一般數據源的delta怎么實現的
答:一般數據源的delta的類型默認都是aie,就是支持后像的,所以必須先到dso中然后再到cube。
12.如果要load系統不支持字符,要執行哪個tcode?
答:SPRO
13.MM抽取和增量機制是什么?
答:MM抽取數據它屬於后勤數據,也用到setup表,屬於LO抽取,機制就是delta queue。
14. Delta Process增量方式
答:R3通過SE11查看表ROOSOURCE,BW通過SE11查看表RSOLTPSOURCE,可以查看數據源的抽取機制,即對應的增量方式:
如ABR(after before reverve),是前,后,反轉鏡像更新模式,支持覆蓋也支持累加,所以適用於所有的增量方式,可以更新到DSO或者CUBE。
如AIE(after image),是后鏡像,只支持覆蓋,不支持累加,所以不能直接加載到CUBE,只能加載到DSO。FI中此種增量處理方式應用較多。
如ADD,只支持累加,用附加鏡像的更新方式,所以既可以更新到DSO,也可以更新到CUBE。
二.LO抽取
1.R3目前有哪幾種常見的數據提取方法?
答:LO提取,通用提取,CO-PA提取。
2.LO提取的UPDATE MODE(更新模式)有哪幾種?
答:Direct Delta; Unserilized V3 update, Queued Delta。(v1,v2,v3)
Direct Delta、Queued Delta、Unserialized V3 Update 總結
一、Direct Delta:
a)業務數據更新應用程序表(application table);
b)與 a 同步(V1),數據更新到增量隊列(Delta Queue);
二、Queued Delta
a)業務數據更新應用程序表(application table);
b)與 a 同步(V1),數據更新到抽取隊列(Extraction Queue),此步驟與 a 是同步,所以可以記錄業務發生順序的先后;(數據先被收集到抽取列隊然后被送到增量列隊)
c)與 b 異步(V3),通過Collective Run(集體操作或集體運輸)將數據從抽取隊列(Extraction Queue)收集,更新到更新隊列(Delta Queue);
三、Unserialized V3 Update
a)業務數據更新應用程序表(application table);
b)與 a 異步(V3),通過后台Collective Run(集體運轉)將數據收集,更新到更新表(Update table),此步驟與 a 是異步,進行收集的時候,收集到的數據是多條,不記錄業務發生的先后順序;
c)與 b 異步(V3),通過后台Collective Run(集體運轉)將數據從更新表(Update table)收集,更新到更新隊列(Delta Queue);(就是增量列隊中憑證是無序的,這對於用覆蓋模式的模型來說是致命的,所以如果目標列隊是DSO的話,不建議采用這種模式)
3.LO抽取的步驟?
4.v1,v2,v3都是什么
答:V1,v2是一個是同步傳輸,一個是異步傳輸數據,v3,是在lo中用於異步的無序的增量方式。
5.LO的增量更新有哪幾種,大概描述一下
答:主要用的就是abr,它支持前像,后像,反像,新像,所以可以支持dso或者cube都可以,並且是用push的方式到delta queue中的。
6. R/3系統抽取數據到BW系統里,是否必須要在R/3建立logical system(邏輯關系),並指定?
答:從R/3系統抽取數據到BW系統里,必須要在R/3建立logical system,並指定。可以自己做一個DATASOURSE,也可以用RSA5 激活一個系統自帶的\DATASOURSE(在R/3下)。步驟大概是R /3 創建logical system,BW 創建logical system,然后創建兩個background
user,一個R/3的一個BW的,互相通信用。然后在BW創建個source system , transfer
R/3 global setting(change rate 也要傳輸),然后再復制data source。
7. 如果要抽一個表,但是數據源不能相同,在哪里設計?
答:在信息包里面設置。
8. COPA如何抽取數據?
一,根據科目
二,根據賬號
具體根據每個公司的業務相關的
9. 一般MM的 抽取怎么進行的?
答:1.我們“初始化庫存“2LIS_03_BX。
2.full load這個數據源的數據。
3.按照業務中的數據,增量加載這個數據源中的數據。
10. 如果要抽取一個text文件,有百萬條甚至千萬條數據, 應該怎么做?
答:如果上傳的數據量過大,不可能一次上傳,否則肯定會死掉。
方法是寫程序分批上載。一般每包的數據量1-2萬條比較合適。
數據的流轉路徑 : TXT ——- 內表 ————- R3
我們刪除R3的數據的時候,也不可能一次情況完畢,也還是要分批清除。
11.如果不從R3系統抽取數據,從其他系統抽取的話,提供不了增量,怎么上數據?
答:1,虛擬REMOTE CUBE(遠程直連上數據,但是數據量太大就不行了)
2,可以自己設計一個增量,通過這個增量上數據
3,通過第三方工具,例如AC(埃森哲)的ETL工具,直接抽數。
三.數據源,表
1.Copa數據源與其他數據源區別?
答:Copa的delta處理機制屬於cube,就是說抽取數據后,生成的是匯總的數據,也就是cube。
2.BI數據源系統激活時提示以下錯誤。no metadata upload since upgrade rsar 672怎么解決?
答:分步檢查,縮小范圍:
一.確認BW的源系統連接是有效的:BW系統的RSA1->源系統->選擇你需要的源系統,用鼠標右鍵點擊check。
二.如果源系統有問題,可以用sm59測試看看RFC連接是否正確。
三.如果源系統沒問題,可以重新復制數據源。
四.正常此步驟后復制過來的數據源應該就是正確的。
3.如果修改了信息對象,信息包上載數據報錯?一般怎么解決?
答:重新去復制一下數據源。
4.MM(物料)模塊中很重要的一個關鍵值描述下,有關的三個數據源?
答:在庫存的模型中,有3個主要字段,
總庫存發出數量(出庫) 0ISSTOTSTCK
總庫存接收數量(入庫) 0RECTOTSTCK
數量總計庫存(總計費累計值)0TOTALSTCK:由以上兩個字段組成。
MM數據源:
2LIS_03_BX:初始化庫存,反映了所有的入庫的信息。
2LIS_03_BF:庫存變動,反映了后續業務中的入庫,出庫的信息。
2LIS_03_UM:庫存評估,和數量無關,改變庫存產品的價格。
0cpquabu
數值接收到已評估庫存
收貨數量: 凍結庫存
數量接收到寄存庫存
收貨數量: 質檢中的庫存
收貨數量: 在途庫存
數量接收到評估的庫存
總庫存接收數量
5.SD中用的哪些數據源 ?
答:開票2lis_13_vditm,訂單2lis_11_vaitm,出庫單2lis_12_vcitm
6.SD,FI,MM,3個數據源分別對應常用的哪些表?
答:
2LIS_03_BX:初始化庫存,反映了所有的入庫的信息。
2LIS_03_BF:庫存變動,反映了后續業務中的入庫,出庫的信息。
2LIS_03_UM:庫存評估,和數量無關,改變庫存產品的價格。
四.增強
1.什么是數據源增強?
答:DATASOURSE的增強其實就是在標准DATASOURSE上面,修改結構,然后在EXTRACT(抽取)數據的時候通過寫ABAP命令取到自己要的數據放到DATASOURSE中。
FI增強的字段:如清賬日期。
2.數據源增強步驟?
答:
一.在附加到DATASOURSE提取結構的附加結構定義要求的字段
二.寫入你的功能出口以調用DATASOURSE的相關數據源
三.在BI中復制此DATASOURSE
四.為增強的DATASOURSE提取數據
3.如何做增強?並舉個例子。
答:Cmod做增強,BAPI(業務數據增強,業務部分用的)
例如,做銷售開票時,需要訂單日期。。。這個時候就需要做增強。
4.是否做過hierarchy(層次)增強?
答:層次增強,沒做過,一般做的是數據源增強(維護數據結構,cmod增強),和BW增強(例程)
5.LO做增強以后和FI-CO做增強后的區別。
答:FI-CO就是不用刪除setup表,而LO做初始化后腰刪除setup表
6.數據源增強怎么做?bw這邊增強做過哪些?
答:cmod做增強,數據源增強的話,就是維護提取結構append structure(增強),標准數據源的話,增強可以用pull,把右邊移到左邊,增加字段。 bw這邊做增強就是做些報表的用戶出口變量。
7.什么是增強
答:增強就是對現有datasource或者cube做功能的增加。
一,結構的增強
Append
二,功能的增強
通過t-code cmod增強文件“RSAP0001”,點擊組件,出現4個文件,用來寫代碼。
EXIT_SAPLRSAP_001 業務數據源(業務數據增強出口)
EXIT_SAPLRSAP_002 屬性和文本數據源(主數據增強出口)
EXIT_SAPLRSAP_003 老板本的文本數據源(文本增強出口,已經不用)
EXIT_SAPLRSAP_004 層級數據源(層次增強出口)
8.項目開始后,用戶需要增加字段,該怎么辦?
答:一,數據源做增強,增加字段
二,維護結構,刪除SETUP表,重新復制數據源
三,刪除CUBE里的數據,然后重新上數據
9.增強實例。
答:
數據源增強:
1,RSA5里/LBWE里,維護數據源提取結構,從字段欄目中,增加字段,右邊拖拽到左邊就OK了。
2,如果底表沒有的話,就到RSA6里,維護數據源,增加APPEND STRUCTURE(增加結構),到CMOD中,選項目(project),增強文件“RSAP0001”,點擊組件,出現4個文件,用來寫代碼。
EXIT_SAPLRSAP_001 業務數據源
EXIT_SAPLRSAP_002 屬性和文本數據源
EXIT_SAPLRSAP_003 老板本的文本數據源(已經不用)
EXIT_SAPLRSAP_004 層級數據源
舉例:
在銷售開票數據里,需要增加銷售訂單日期,在業務數據源中(EXIT_SAPLRSAP_001)寫代碼。
如:
Case 數據源=“2LIS-13-VDITM”
定義指針和變量
工作區(內表里的一個操作單元)
Loop(對內表做讀取循環,如果內表是哈希表的話,不能用LOOP,用KEY)
從 銷售訂單表(?)中讀取銷售訂單日期並賦值到所增強的字段
EndLoop.
End Case。
最后要重新復制一下數據源。
變量增強:
Query中設置了用戶出口的變量,然后去CMOD中,做變量增強。
示例代碼場景 : ATEST_MON_CE為用戶出口變量 其中存放月份年份(201011)ZCALDAY為用戶輸入的時間變量(20101101),將ZCALDAY 中的年月截取放入ATEST_MON_CE中,目的是為了統計某年某月份的key figure數據。(就是atest_mon_CE是用戶自定義的用戶出口變量,用戶輸入ZCALDAY(20101101),需要截取年月201011 到ATEST_MON)
(就是,具體看某日的數據,就需要些變量增強,因為系統是截取前6位的,只能看月份,並不能看具體日子)(還有就是同環比,和年累的增強,這個用的比較多。比如時間月份-1就是上個月的,也就是環比,時間-12就是去年同期的,就是同比,都要寫變量增強)
field-symbols : <ls_var_range> type PRO_S_VAR_RANGE.
Data ls_range type RRRANGESID.
Case i_vnam.
When ‘ATEST_MON_CE’.
If i_step = 2. //因為i_step=1時不需要我們做任何處理所以直接在i_step=2時把
//i_step=1時,用戶輸入的變量從內表I_T_VAR_RANGE中進行讀取
Read table I_T_VAR_RANGE assigning <ls_var_range> //ls_var_range 為變量指針
With key VNAM = ‘ZCALDAY’.
If sy_subrc = 0.
Clear ls_range. //防止ls_range中已經有賦值,將其清空。
Ls_range-sign = ‘I’. //include 與 exclude
Ls_range-sign =’EQ’.
Ls_range-low = <ls_var_range>-low(6). //取20101101的低六位,即為年月
Append ls_range to e_t_range. //將處理好的變量值存於內表
Endif.
Endif.
Endcase.
10.增強項,增強出口。
答:數據源增強:RSAP0001
報表變量增強:RSR00001.
11. 在結構中進行增強時,字段命名限制是什么?
答:所有在附加結構中的新字段必須以ZZ開頭。
五.Query報表
1.把BW報表發布到EXCEL上,有一個變量日歷年月,每天打開窗口時選擇變量值時都是按順序排的,因為Cube里的數據多較多了,每次都要翻好幾頁,有什么辦法讓彈出窗口的信息是倒序排列的?
答:方法1.你可以於變量輸入窗口,選擇“單值”,點擊“日歷年/月”條目,可以切換
排序方式(升序或降序)。
方法2.可以用“日歷年”加“日歷月”變量替換“日歷年/月”變量,同時設定查詢默認值,這樣可以減少條目數。
2.Query中的數據如何居中顯示呢?
答:
一. 選擇要修改的區域
二. 點擊Bex 菜單中的Layout(布局), 選擇alignment(排成直線)
三. 設置Horizontal(水平位置) 為center
四. 保存Workbook即可在 query designer 中的 query properties(道具), Display tab 可以選擇 results position in number format, 可是只有 Bottom Left/Right, Top Left/Right. 沒有居中。
3.在query designer內建立calculated key figure,因為我想要他的公式結構,未來可以自動化的將所有CKF的公式匯出。但在modeling里只有看到一般的key figure,沒有CKF?
答:在Modeling Tree下面的BW移送->移送type->Query->Formula(公式,方程式),層次是這個關系,可以看到。
4.做過報表中的cell沒有?
答:單元格。可以不走報表行列的匯總,獨立進行本單元格公式計算。
5.報表開發中可共用的除變量外,還有什么?
答:結構
6.結構如果在一個報表中直接加入修改時如果不想影響其他使用這個結構的報表,如何操作?
答:右擊,刪除引用
7.解釋一下RKF(限制性關鍵值),CKF(計算性關鍵值)?
答:RKF:限制性關鍵值,用一個或多個特征來限制關鍵值的顯示內容。
例如:同一個產品,不同時期的銷量,可以把銷量作為限制。限制條件是時間。
CKF:計算性關鍵值,用一個或多個關鍵值計算而得到的內容。
例如:銷售金額,就是單價*數量。
8.報表中的自由特性?
答:在報表默認的情況下是不顯示的,但用戶可以自由拖拽自由特性在portal上分析顯示。
9.簡單介紹一下報表中的條件,例外,結構?
答:條件是用來做限制的,這樣能提升報表的查詢速度。
例外是數據預警,就是比如庫存數據有變動,就會變成紅色預警。
結構是自己設置的,設置好一個結構並保存后,其他報表也可以對此結構應用。
10.是否做過同比,環比報表?
答:做過,同比就是與去年同期相比,環比就是與上個月,上個季度相比較。DSO,CUBE,都是相同的,但是數據是不同的,有些公式需要重新計算一下。
六.處理鏈
1.什么是流程鏈?
答:流程鏈是一系列計划要在事件的后台等待的流程。這些流程中有些觸發了單獨的事件,該事件可以依次啟動其他流程。流程鏈的每個流程等於計划與事件相關的基礎系統中已批准的作業。
先到PSA,再到輸出層,再遠程調用。BY主題上傳。BY企業,企業下有許多主題。
2.流程鏈–維護?
答:
* 通過事務代碼調用流程鏈維護(rspc)
* 在管理功能區域,選擇導航窗格中的流程鏈,以調用流程鏈維護
* 在建模功能區域,通過選擇工具欄上的流程鏈圖標(或者從菜單選擇編輯 → 流程鏈),您可以調用流程鏈維護。
* 選擇工具欄中的流程鏈維護按鈕,以便從所支持流程的維護對話訪問流程鏈維護
3.處理鏈T-CODE?
答:RSPC
4.項目中怎么建處理鏈?
答:首先,主數據建主數據的鏈,業務數據建業務數據的鏈。
其次,數據源到PSA是一條鏈,PSA到DSO是一條鏈。
這些鏈都分開做,然后掛在一條大處理鏈上。
七.權限
1.如何做報表權限?
答:
一, 分析權限,
二, 報表權限,根據特性,在infoobject里,設置成與權限相關,輸入事務碼pfcg配置報表權限,
2.分析權限事務碼是?並描述一下。
答:RSECADMIN,建立權限對象,加入做權限的Infoobject,再加入SAP建議的三個做權限的對象(0TCAACTVT做操作的限制,針對信息對象,如刪除,只顯示。。。,0TCAIPROV,對范圍做限制,0TCAVALID對時間做限制),設置要做權限的信息對象的值,然后保存。PFCG,進入角色維護界面,把剛才所作的權限對象,分配到角色上,再把角色分配到用戶。
八.基礎知識
1.CUBE和ODS最大的區別是?
答:最大的區別是CUBE的KEYFIGURE是累加的,但是ODS是可以OVERWRITE的,一般ODS用來放ITEM LEVEL的數據。
2.DSO分類有那幾種?
答:標准DSO ,優化DSO,直接寫入DSO。
3.DSO對象的不同類型?
答:
一.標准DSO對象,具有已知的表活動數據、更改日志和激活隊列。
二.優化的對象,針對大量數據僅具有一個活動數據表。
三.直接寫入的對象,僅具有一個可用於分析程序(分析程序設計器)的活動數據表。此DSO對象替換早期版本中的事務性對象。
4.什么是多重提供器?
答:是一種,它綜合了多個的數據以用於報告。供者本身不包含任何數據。數據由所基於的這些合在一起進行合並操作。
5.什么是信息集?
答:信息集通常定義為數據,標准信息塊;信息對象是時間相關特性,則交集是時間相關或臨時交集,是數據源上的語法層。與典型集是特定的數據視圖。
6.屬性有哪些類型?
導航屬性,顯示屬性
7.建立模型時的導航屬性具體含義是什么?
答:是在做查詢的時候用的,過程是這樣的,首先在主數據的導航屬性里面選擇某一個字段,例如物料主數據的物料組設置成 了導航屬性,然后在INFOCUBE里面還有一個設置導航屬性的地方,這里就是該INFOCUBE里面全部特性的導航屬性的和(如果在特性里面沒有選擇導航屬性,在INFOCUBE里面也找不到),在 INFOCUBE也選中該屬性為導航屬性后,物料組就可以作為物料的一個導航屬性存在了,在做查詢 的時候,物料組(在特性里面物料的下拉菜單中就會出現)就可以成為一個查詢條件了或者做其他限制了。
8.對INFOCUBE進行數據顯示時,發現某一條記錄里有一關鍵值A,其值為23.3同時對應的MultiProvider進行數據顯示時發現該記錄的關鍵值A的值為0.能過Query進行報表顯示時,該記錄的關鍵值同樣顯示為0?
答:MultiProvider中添加了INFOCUBE中的KF,但是沒有指定從哪個INFOCUBE中獲取;
在 MultiProvider編輯界面左上角有按鈕select key figures,點進去,在你需要的INFOCUBE的KF前打勾。如果沒有打鈎的話,multi中只有某一個CUBE擁有的這個數據,就無法關聯,因此顯示不出該數據,所以就是0,打上勾就OK了。
9.什么是INFOCUBE?
答:INFOCUBE就是信息立方體,使用星型結構存儲並分析數據的載體。意義在於進行多維數據分析和統計。
10.非聚集Key Figure、原理?
答:非聚集Key Figure有點類似計算字段,是從另外字段計算出來的。
11.寫優化的和標准的DSO區別是什么?寫優化的為什么訪問速度快?
答:寫優化的DSO只有一張表,沒有new data表。訪問速度快,是因為沒有生成SID表
12.cube里有多少個維度?
答:可以建立16個維度,其中3個是系統自帶的,時間,單位,數據包。
13.DSO,cube,query這些模型簡單描述下特點和結構?
答:dso分普通和寫優化的,一個有三張表,一個只有一張表。cube的話就是維表和事實表,擴展的星型模型。query是建立在cube或者dso上的查詢,可以建立變量,有行列設置,可以做filter(過濾)和條件,例外。
14.DSO的全稱是什么
答:數據存儲對象。
15.DSO有幾張表
答:3張(新數據,有效數據,更改日志)
16.為什么要用DSO
答:因為dso可以覆蓋,所以可以用來存儲明細數據。
17.信息集和multiprovider的區別?
答:信息集是包含dso,cube,object,可以左連接,右連接,而多立方體可以包含信息集和所有對象。
18.導航屬性如何操作
答:導航屬性3步,1,首先不是僅屬性,2,打開導航屬性開關,並寫描述,3,在cube中打鈎。
19.DSO中生成 sid選項有何作用?
答:DSO用於BEx報表時速度更快。
20.CUBE分區,DSO分區?
答:DSO不做分區,只在CUBE上做分區,這屬於性能優化。例如銷售有3個部門,他們的數據很大,用在一個CUBE里也可以,但是這樣做query的時候,展示很慢,系統也很慢。如果在CUBE分區,分成3個小CUBE,每個cube代表一個部門,這樣性能就會好很多。
21.SET UP表放什么數據?信息包中什么用到SET UP表。
答:SET UP表里放Init(初始化)之前的所有數據。因此FULL和Init(初始化)都要經過SET UP表。所以信息包里,的F和I用到SET UP表。
22.CUBE上載的步驟。
答:創建轉換(如果是infoprovider,如果不是還有infopackage等,),再DTP就行了吧,如果沒有自動aggre 再手動aggre一下?
刪除索引
構建數據庫統計
積累已填充的集成/BIA 索引
信息塊的壓縮
九.ABAP相關
1.是否了解ABAP指針?
答:Field symbols,是字段符號,有點像括號似的,把一個結構,定義配給字段符號,通過字段符號來引用結構中的成員。
2.內表有哪些種類?(ABAP)
答:標准,排序,哈希(一一對應)
3.上傳下載數據,使用EXCEL做過沒有?(ABAP)
答:做過,有兩種方式一種是通過模板的方式,一種是通過xml的方式。
十.性能優化
1.你是怎么理解性能調優的?
答:CUBE優化包括壓縮,分區,聚集和查詢優化。
2.INFOCUBE中的壓縮原理及優缺點。
答:合並請求號,把數據合並在一起,這樣,運行速度快,節省空間。
缺點是:無法按照請求號刪除數據,因為合並后,請求號就沒有了。
請求號,是指每次上載數據后,系統都會自動生成的請求號
3.CUBE壓縮后有幾張表。(cube有幾張表)
兩張表,一個是F表,一個是E表。壓縮后的數據放在E表中。激活后CUBE就會有很多表了,圍表啊,SID表啊等等。
4.如何優化query?
答:用filter(篩選器,過濾器),做限制。
用cache(緩存)
5.COPA如何優化?
答:
6.Bo開發中如何做(Universe)優化
答:
十一.例程
1.什么是清洗表?在哪里用?
答:就是自建一張表,里面有關鍵字段和數據字段,然后例程中會利用這張表來清洗數據
,在轉換的例程中用的比較多,用這個表的好處就是表里的內容可以隨着業務變化隨時
變,不用總是改程序。
清洗表:源就是R3中已經存在的字段,目標就是R3中沒有的字段。SE11建立一個表,所有的數據都是自己輸入的。就是通過清洗表來得到一個對應的關系,通過一些數據來清洗出想要得到的字段,然后再DSO中讀取使用。
2.Start routine(開始例程) 和end routine(結束例程) 代碼中結構是否相同?
答:Start routine傳入的變量是一個data的內表。而end routine是一個引用。
十二.事務碼T-CODE
1. RSA5, RSA 6, RSA 7各代表什么意思?
答:RSA 5:顯示Delivery版本的BI CONTENT,可以激活BI CONTENT。
RSA 6:顯示Active版本的BI CONTENT。后台處理數據源事務碼。
RSA 7:用來查看Delta Queque中的內容。
2,獲利分析的T-CODE?
答:KEPM
RSA1:建模 RSA3:數據抽取,數據源提取檢驗 RSDS:查看數據源
RSRV:數據庫的統計,可以得到維度表和事實表的大小。Debug測試。
SM59:測試RFC連接 SM37:看后台數據 SM12:解鎖(解開被鎖定目標)
SE11,SE16,SE16N:數據庫表查詢和創建
SE09:看傳輸請求號,釋放。
SBIW:數據源后處理 STMS:傳輸(basis做的)RZ11:設定gateway的連接數
SU01:創建用戶(權限) PFCG:把ROLE分配到用戶名下(權限)
VF03:顯示發票 VA03:看銷售訂單 XD03:銷售主數據 VL03:交貨單
MM03:物料
LBWE:定制事務碼 KNA1:客戶主數據
CMOD:數據源和BW增強 SMOD:查CMOD使用組件的名字
RSPC:處理鏈
SPRO:加載時無字符串時查看用的 RSRT:query 監控器事務碼
十三.變量
1.權限變量
答:權限變量就是動態的控制權限。
例如:公司代碼是3000,則只能看到公司代碼3000的數據,公司代碼是動態的,權限根據公司代碼來判斷。
2.是否用過常量型變量。
答:常量變量就是比如產品維度中,產品中的產品組不變,但產品是可變的,產品組就是常量變量。
3.什么是變量?
答:變量是對於常量來說,變化的量。
4.變量種類?
答:一,特征性變量,在一個特性上建立變量,設置成用戶手工輸入,在POP UP上就會顯示出來變量值。
二,層次節點,
三,文本和層次變量,
四,公式變量。
五,權限變量。
層次結構的權限類型
在多種方法中,可以定義源於層次結構節點的權限。
1. 類型0: 用戶只是自己節點的權限。
2. 類型1: 另一個選項是給出節點和層次結構中它以下的所有節點和葉權限。如果在查詢中顯示一個層次結構,那么此選項是可利用的,並且用戶在節點以下會自由導航。
3. 類型2:用戶只是對於一個既定的等級,被允許看在一個節點和滾動格下面的所有節點和葉。(包括 看層次結構等級輸入字段幫助)。等級必須指定在有關層次結構的絕對術語中。hierarchy.
4. 類型3:完成層次結構。這不只是包括最高的可視等級,也包括未分配葉的節點。
5. 類型 4: 特定等級節點的所有節點和葉。與類型2比較,等級指定在節點的相關條款中。
3.什么是DELTA機制?
答:答:delta機制分為兩部分:數據源的delta機制、BW的delta機制:
數據源的delta分后勤數據源的delta機制、其他數據源的delta機制,后勤數據源的delta是通過extraction Q和delta Q、V3JOB來實現,首先通過IP whit out data打標,然后setup,通過full抽取從setup抽取數據,對於以后的增量數據,是ECC把業務數據自動push到extraction Q,然后通過V3job的方式把數據抽取到delta Q中,通過增量的ip從delta Q抽取數據實現增量;
其他數據源的delta機制,是通過時間戳打標,通過IP根據時間增量抽取數據;
BW的delta機制,通過DSO的recordmodule實現 前像 沖銷以前的數據,再產生一個后像,在往上上述的時候通過before inmage沖銷,通過after inmage產生修改的后的數據;
Dso 往上上述一個dso時如果寫的是在DTP中寫的是全量更新則從dso的有效表中抽取數據,如果寫的delta更新,則是通過changelog表抽取數據上述的上層的dso;
4.不同模塊事務數據DELTA加載的操作過程一樣嗎?
答:不一樣,MM有MM的DELTA
機制,FI有FI的機制。
5.什么是數據源增強?
答:DATASOURSE 的增強其實就是在標准DATASOURSE上面,修改結構,然后在EXTRACT數據的時候通過寫ABAP命令取到自己要的數據放到DATASOURSE 中。COMDE中有四個部分分別寫代碼:001業務數據 002 主數據屬性 ;003主數據文本 ;004層次結構;
分兩部分:數據源的增強;自定義需要提取的字段新建一個數據源,在BW側再關聯實現自己的需求;
6.CUBE和ODS最大的區別是?
答:最大的區別是CUBE的KEYFIGURE是累加的,但是ODS是可以OVERWRITE的,一般ODS用來放ITEM LEVEL的數據。
Cube可以對數據做壓縮、聚集
Cube 是多維的星型模型,提高數據處理速度,減少冗余;dso :二維的存明細數據;dso上述需要激活、cube上述不需要激活;
7.你是怎么理解性能調優的?
答:CUBE優化包括壓縮,分區,聚集和查詢優化。
性能調優分兩部分:query層面(數據提取出來后在query中整理展示)、DB層面(從的DB把數據提取處理啊)
DB層面:cube 的壓縮使DB層面的數據盡量減少,壓縮requst;壓縮存在問題:壓縮后不能根據request區分和刪除數據;如果選擇了with zero ,把數據里真的是0的數據壓縮沒了;
壓縮可以設置到處理鏈中(compression of the cube)
創建壓縮(rollup)時可以系統推薦創建運行時間大於某個值的查詢,可以自己創建;(能在數據鏈中要增加roll up這個環節;在cube中執行 roll up)
聚集:設置聚集,按照用戶的使用習慣把用戶的查詢維度設置成一個個的小的cube,這是在提取數據的時候直接從小的cube中提取數據;
Query層面的優化:想一些公式、選擇、條件等放在query里處理的數據的會影響到query的速度;
分區:可以安裝邏輯分區,把數據按照一定的條件分開,放在不同的cube中;創建分區步驟:選擇cube(修改)–附加-數據庫性能—分區:cube的數據中有日期字段,可以按照日期進行分區;
手工創建兩個cube比如:3個月內的cube、3個月之前的cube,在上述是在transformation中寫把當前數據放入3個月內的cube,把3個月之前的數據移入到3個月之前的cube里;
廣播的方式也可提供查詢速度,每天需要把用戶執行的查詢條件提前執行,並放到內存中,在白天用戶使用報表時直接從內存中讀取數據;
分區:
8.什么是清洗表?在哪里用?
答:就是自建一張表,里面有關鍵字段和數據字段,然后例程中會利用這張表來清洗數據
,在轉換的例程中用的比較多,用這個表的好處就是表里的內容可以隨着業務變化隨時
變,不用總是改程序。
9.BI CONTENTS激活后有沒有自動加上INFOPACKAGE?
答:在DATASOURCE下面,先INSTALL好所有的東西之後,再手工去創建INFOPACKAGE,
INFOPACKAGE都是要自己手工去創建的。
10.你知道REAL-TIME有什么作用?
答:BW一般都是對歷史數據分析用的,如果模型中需要實時的數據就要用到這種技術,但是這樣系統效率很低,一般很少用到。
RDA(實時數據抽取)創建一個實時的cube,並加快delta抽取的時間,但是對於logistic數據源,V3job的抽取時間一定要和實時數據抽取一致或者短,要不實現不了實時;創建cube時選擇實時:
基於功能模塊就是通過寫代碼的方式,實時數據抽取;
11.R3目前有哪幾種常見的數據提取方法?
答:LO提取:后勤數據提取,通用提取,CO-PA提取:財務里CO-PA,提取需要的字段和數據提取。
12.通用提取的數據來源有哪幾種,是否可以DELTA加載?
答:TABLE/VIEW,INFOSET,FUNCTION MODULE,可以DELTA加載:。
13.LO提取的UPDATE MODE有哪幾種?
答:Direct Delta:直接更新; Unserilized V3 update:無序的V3job, Queued Delta:隊列增量, Serialized V3 Update。
14. RSA5, RSA 6, RSA 7各代表什么意思?
答:RSA 5:顯示Delivery版本的BI CONTENT,可以激活BI CONTENT。
RSA 6:顯示Active版本的BI CONTENT。
RSA 7:用來查看Delta Queque中的內容。
15. BI3.5和BI7.0加載數據步驟的區別?
答:BI3.5. 復制DATASOURSE3.x,創建Infosource, 建立DATASOURSE3.x和Infosource之間的Transfer rule,建立INFOCUBE/ods,建立Infosource和INFOCUBE/ods之間的update rule,創建Inpackage加載數據。
BI7.0. 復制DATASOURSE,建立INFOCUBE/DSO,建立DATASOURSE和INFOCUBE/DSO之間的Transformation,針對 DATASOURSE創建Infopackage,將數據加載到PSA,創建DTP,將數據從PSA加載到INFOCUBE/DSO.
16.LO抽取的步驟?
答:
一.傳輸DATASOURSE
二.維護提取結構
三.維護生成DATASOURSE
四.復制和激活SAP BI中的DATASOURSE
五.維護數據目標(DATASOURSE對象,INFOCUBE)
六.維護DATASOURSE和數據目標之間的轉換
七.創建數據傳輸流程
八.激活提取結構
九.刪除設置表/執行設置提取
十.選擇更新方法
十一.增量初始化的infopackage
十二.必要時,計划V3集中運行
十三.增量上載的infopackage
17.數據源增強步驟?
答:一.在附加到DATASOURSE提取結構的附加結構定義要求的字段
二.寫入你的功能出口以調用DATASOURSE的相關數據源
三.在BI中復制此DATASOURSE, 激活對應的DATASOURCE
四.為增強的DATASOURSE提取數據
18.什么是增量隊列?(delta queue)
答:增量隊列是新建或已更改數據記錄的數據儲存形式(上次數據請求以來出現的數據記錄)。從系統收到數據請求時,會使用源系統中的更新流程或錄入自動寫入增量隊列。
19.infopackage幾種更新模式?
答:1完全更新2初始化增量流程(initial whit data,initial whitout data )3增量更新
20.什么是增量更新?
答:增量更新僅為源系統中的請求上次加載以來已創建或已更改(或已刪除)的數據記錄。
21.各個增量流程都支持哪些記錄類型?
答:后像 空格;前像 X;反轉象 R; 新象N;刪除 D; ADD A。
22.平面文件的增量流程原理是怎么樣的?
答:如果增量流程使用平面文件,數據不會通過增量隊列傳輸到BI ,而是直接從DATASOURSE 加載到PSA。
23.DSO分類有那幾種?
答:標准DSO:3個表:有效表、NEW表,changelog表;優化DSO:有效表,直接寫入DSO:有效表(通過程序直接寫入)。
24.DSO對象的不同類型?
答:
1.標准DSO對象,具有已知的表活動數據、更改日志和激活隊列。
2.優化的對象,針對大量數據僅具有一個活動數據表。
3.直接寫入的對象,僅具有一個可用於分析程序(分析程序設計器)的活動數據表。此DSO對象替換早期版本中的事務性對象。
25.什么是多重提供器(mutli provider)?
答:是一種,它綜合了多個的數據以用於報告。供者本身不包含任何數據。數據由所基於的這些合在一起進行合並操作。
26.什么是信息集(info set)?連接方式:left out join,join
答:信息集通常定義為數據,標准信息塊;信息對象是時間相關特性,則交集是時間相關或臨時交集,是數據源上的語法層。與典型集是特定的數據視圖。
27.非聚集Key Figure、原理?
答:非聚集Key Figure有點類似計算字段,是從另外字段計算出來的。
28.什么是流程鏈?
答:流程鏈是一系列計划要在事件的后台等待的流程。這些流程中有些觸發了單獨的事件,該事件可以依次啟動其他流程。流程鏈的每個流程等於計划與事件相關的基礎系統中已批准的作業。
29.流程鏈–維護?
答:
* 通過事務代碼調用流程鏈維護Tcode :rspc
* 在管理功能區域,選擇導航窗格中的流程鏈,以調用流程鏈維護
* 在建模功能區域,通過選擇工具欄上的流程鏈圖標(或者從菜單選擇編輯 → 流程鏈),您可以調用流程鏈維護。
* 選擇工具欄中的流程鏈維護按鈕,以便從所支持流程的維護對話訪問流程鏈維護
在監控處理鏈經常出的問題:在處理鏈中由於ECC字符和BW定義的字符格式不一致,在上述時激活造成報錯;
30.R/3系統抽取數據到BW系統里,是否必須要在R/3建立logical system,並指定?
答:從R/3系統抽取數據到BW系統里,必須要在R/3建立logical system,並指定。可以自己做一個DATASOURSE,也可以用RSA5 激活一個系統自帶的\DATASOURSE(在R/3下)。步驟大概是R /3 創建logical system,BW 創建logical system,然后創建兩個background
user,一個R/3的一個BW的,互相通信用。然后在BW創建個source system , transfer
R/3 global setting(change rate 也要傳輸),然后再復制data source。
31.建立模型時的導航屬性具體含義是什么?
答:是在做查詢的時候用的,過程是這樣的,首先在主數據的導航屬性里面選擇某一個字段,例如物料主數據的物料組設置成 了導航屬性,然后在INFOCUBE里面還有一個設置導航屬性的地方,這里就是該INFOCUBE里面全部特性的導航屬性的和(如果在特性里面沒有選擇導航屬性,在INFOCUBE里面也找不到),在 INFOCUBE也選中該屬性為導航屬性后,物料組就可以作為物料的一個導航屬性存在了,在做查詢 的時候,物料組(在特性里面物料的下拉菜單中就會出現)就可以成為一個查詢條件了或者做其他限制了。
32.把BW報表發布到EXCEL上,有一個變量日歷年月,每天打開窗口時選擇變量值時都是按順序排的,因為Cube里的數據多較多了,每次都要翻好幾頁,有什么辦法讓彈出窗口
的信息是倒序排列的?
答:方法1.你可以於變量輸入窗口,選擇“單值”,點擊“日歷年/月”條目,可以切換
排序方式(升序或降序)。
方法2.可以用“日歷年”加“日歷月”變量替換“日歷年/月”變量,同時設定查詢默認值,這樣可以減少條目數。
33.Query中的數據如何居中顯示呢?
答:
1. 選擇要修改的區域
2. 點擊Bex 菜單中的Layout, 選擇alignment
3. 設置Horizontal 為center
4. 保存Workbook即可在 query designer 中的 query properties, Display tab 可以選擇 results position in number format, 可是只有 Bottom Left/Right, Top Left/Right. 沒有居中。
34.對INFOCUBE進行數據顯示時,發現某一條記錄里有一關鍵值A,其值為23.3
同時對應的MulitProvider進行數據顯示時發現該記錄的關鍵值A的值為0.能過Query進行報表顯示時,該記錄的關鍵值同樣顯示為0?
答:MulitProvider中添加了INFOCUBE中的KF,但是沒有指定從哪個INFOCUBE中獲取;
在MulitProvider編輯界面左上角有按鈕select key figures,點進去,在你需要的INFOCUBE的KF前打勾。
35.BI數據源系統激活時提示以下錯誤。no metadata upload since upgrade rsar 672怎么解決?
答:分步檢查,縮小范圍:
1.確認BW的源系統連接是有效的:BW系統的RSA1->源系統->選擇你需要的源系統,用鼠標右鍵點擊check。
2.如果源系統有問題,可以用sm59測試看看RFC連接是否正確。
3.如果源系統沒問題,可以重新復制數據源。
4.正常此步驟后復制過來的數據源應該就是正確的。
36. BW采購標准CUBE問題,現在報表顯示的字段為:
“物料,供應商,采購單號,物料文件號,交貨單號,工廠,交貨庫存地點,過賬文件(Reference),數量,單位,PO交貨日期,建立日期”,這幾個字段的數據。但 Reference, Delivery 二個字段在采購的數據源中:
2LIS_02_CGR
2LIS_02_HDR
2LIS_02_ITM
2LIS_02_S011
2LIS_02_S012
2LIS_02_SCL
2LIS_02_SCN
2LIS_02_SGR
2LIS_03_BF
2LIS_03_BX
中都找不到,在提取結構中也沒有發現。
在2LIS_02_ACC 中找到了交貨單,沒有記錄,所以認為不是在這個數據源。
2LIS_06_INV 有Reference 這個字段,但內容值對不上。
現在采用標准的數據源,CUBE來做,暫不想做增強。
MKPF 表存在物料文件號與交貨單號,RSA3/LBWE中的采購部分的結構沒有看到交貨單字
段。
答:需要做增強或者自定義數據源抽取。
37.如果要抽一個表,但是數據源不能相同,在哪里設計?
答:在信息包里面設置。
38.什么是INFOCUBE?
答:INFOCUBE就是信息立方體,使用星型結構存儲並分析數據的載體。意義在於進行多維數據分析和統計。
39.在query designer內建立calculated key figure,因為我想要他的公式結構,未來可以自動化的將所有CKF的公式匯出。但在modeling里只有看到一般的key figure,沒有CKF?
答:在Modeling Tree下面的BW移送->移送type->Query->Formula,層次是這個關系,可以看到。
40.如果修改了信息對象,信息包上載數據報錯?一般怎么解決?
答:重新去復制一下數據源。
41、寫優化的DSO適用場景:
答:一般是用在比較少變動的,因為沒有new表 沒有日志表,寫優化一般在實際項目中底層的dso用寫優化的比較多,底層dso只是為了保存數據,不經常變動。不用激活就可以直接上述。以下場景中經常用到:
A、構建EDW的原始數據層,無報表需求,不需要激活,ETL過程更快
B、存儲大量document level的明細數據
C、每次加載的都是新數據,數據不發生變化
D、臨時存儲數據
E、實際項目中,寫優化DSO通常用於存儲財務憑證和物料憑證,這些憑證一旦發生就不會修改
42、直接更新的DSO適應場景:
答:在創建完之后,發現右鍵菜單下,沒有了dtp,infopackage等功能。用寫程序直接更新,一般用來做一定的應用,如APD。是通過BW中的業務平台,將數據通過API的方式,直接寫入的,比如監控某幾張報表的使用頻率,直接寫程序把訪問數據寫入表中。在CMOD中寫代碼;
43、BW的一些參數設置,比如:ECC和BW連接的參數設置:
答復:rsa1 –源系統-ids集團800 - 右鍵 定制提取器–輸入用戶名 密碼 –一般設置 業務內容數據源 可以設置ECC和bw連接的一些參數;
44、BW中傳播的功能和設置?
答復:報表傳播功能:把報表執行的數據執行存在緩存中。一般都在bo port里對每張報表設置(設置的條件等與用戶查詢的條件完全一致)
rsa1 - 傳播–設置(前提在port中建傳播),日志可以查看傳播;
rsrt–高速緩存監控-查看緩存
45、query中如何設置可以提供報表的執行效率?
答:提高報表速度:在query designer中盡量把明細的字段放在”自由行“里,提高報表的查詢速度;盡量用多的表格,少用圖片;
46、實際項目中涉及到文檔:開發文檔(更注重於每個點的細節每個dso等里字段、數據來源、data source的定義)、模型設計文檔(更注重於模型架構圖、流程圖)、測試文檔;項目中各個階段有那些輸出物:需求調研階段:需求調研文檔(大概報表的一些信息、報表數量,每個報表展示的大概數據)、設計階段:設計文檔(模型設計文檔)、開發階段(開發文檔)、UT(測試文檔)、uat(用戶的測試文檔)、上線;
47、如果DSO的key不夠用怎么辦?
答復:dso的key最多是16個,如果一個表中的key超過16個了,可以把key合並,比如:key1(10)、key2(6),可以建一個長度是16的key,把兩個字段上述到一個字段里。
一般dso中很少用到,在cube中最多有13個維度,在cube中可以把兩個dimension id合並成一個dimension id;
48、TCODE:RSA9: 傳輸應用層次結構(先傳輸層次結構:MM、sd、pp等)
49、BW中權限的控制:
答復:報表權限:報表的權限在bo、port中控制;
數據權限:(1)定位對那個字段做權限控制、(2)特性-業務瀏覽(相關的權限勾選上)、(3)query desinger變量的出理由選擇權限,(4)rsa1-管理-分析權限-在分析權限中進行管理;
50、CUBE中創建維表時的行項目維、高基數維的應用和優勢:
答復:當維表中的特性超過了cube所有特性的20%以上時,需要把維設置成高基數維;可以調整物理表結構,提高性能;
行項目維:f表直接連到sid表,中間的dimension表就不用了,提高查詢速度;
51、psa和dso new表key是完全一樣,他們的數據是完全一樣的,dso中new 表和有效數據表是根據dso中的增量機制管理、上述;
52、ABAP在BW中哪些功能模塊會用到:
答復:(1)rultin:start 、end 、連線rultine; (2)CMOD:ECC側數據數據增強提取數據、(3) CMOD:bw側的變量增強;