SDN論壇看到BW的問題及相關解答

SDN論壇看到BW的問題及相關解答

連接: http://blog.sina.com.cn/s/blog_5c58e3c70100r1ou.htmlhtml

 

  1. 如今有一個 QUERY 運行十分慢 , 因此我想在 BW 裏找到一個工具來分析這個 QUERY 是怎麼運行的 . 想知道慢在什麼地方 , 用了多少時間等一些具體信息 .
  2.  
    1. 在 BW 中使用交易代碼 RSRT
    2. 填上須要測試的報表的技術名稱
    3. 單擊執行 + 調試
    4. 勾選彈出的調試選項對話框的其餘中的顯示統計數據和未使用高速緩存
    5. 輸入 Querry 的所須要的變量,運行
    6. 結果回來以後, F3 返回 統計數據界面:將持續時間求和減去時間等待時間、用戶的時間,獲得的時間做爲該報表的統計時間
    7. 報表執行的速度通常都是
      cache > BIA > Aggregate > Cube 自身 ..
      因此第二次執行,能從 cache 取數的話,天然就快 了
  3. 我在激活一個 DSO 時,因爲數據量比較大,差很少有 2 千多萬條的數據,以前的傳輸進程都是綠燈,可在激活過程當中,就變成了紅燈,無論激活多少次也是紅燈,請問這個是什麼緣由啊

這個 DSO 是主要作報表用,仍是作數據存放及 delta 用,若是是後者的話,更改 DSO 的屬性把 "SIDs Generation upon Activation" 的勾棄掉,若是是前者,能夠經過事務 "RSODSO_SETTINGS" 調整相應參數來提升你的 active 的效率。 數據庫

Parameter for SID Generation 中, Maximum package Size 是 2 萬, maximum wait time for process 是 600(10 分鐘 ) ,這個數字是不是越大越好 ?
Maximum package Size 是根據你的內存來設的, maximum wait time for process 能夠長一點。 緩存

  1. 執行 " 分配工做簿 " 後,收到了郵件,但是 Excel 裏的中文都是井號 "#######" ,請問該怎麼解決?謝謝!
    BW
    3.5 的。

a)     退出 BW 系統,關閉全部 BW 系統的窗口和 EXCEL 的窗口; 安全

b)      右鍵點擊 " 個人電腦 " ,選擇 " 屬性 "――>" 高級 "――>" 環境變量 "--" 系統變量 "--" 新建 " ,變量名: SAP_CODEPAGE 變量值: 8400 工具

c)       依次點擊 " 肯定 " ,保存新增的環境變量 .
不行的話,重啓下機器,另外注意用戶名密碼輸入界面下的語言輸入 ZH post

  1. 我目前在作一個 供應商分析 的報表的時候碰到了一個過濾不出過濾條件的問題,望各位大俠能幫忙!謝謝!

報表是在信息提供者:設備主數據 上出的。供應商是 設備主數據 的一個 屬性(導航)。在 query 裏製做報表的時候行上是 ' 供應商 ' ,列上是 ' 設備數 ' 。目的是分析該供應商都提供了多少設備。固然自由特性裏有個設備號,能夠追溯。
但當我用
rsrt 測試報表的時候, * 正常顯示是沒有問題的 * ,但想過濾出特定的供應商的時候老是過濾不出來。再追蹤的時候出現以下提示:

'
在特性 ZZCZZS 的主數據表中不存在特性值 ##################### 。所以,沒法將此值傳輸到內部 SID 中。 ' 測試

另外 ecc 的時候 供應商就是中文,並不像其餘的設備的屬性同樣有個編號,而後編號能夠對應一箇中文。 是否是和中文有關,由於在提示裏的特性值是 ##### 有沒有解決的辦法? 謝謝了!!! url

還有在不管是設備主數據仍是供應商主數據中中文顯示都正常,我在過濾的時候是選擇的,而不是輸入問題。 設計

用 RSRC check 你的那二個特徵,並修復。 調試

rsa1-- 工具 -- 應用層次結構 / 屬性更改 -- 信息對象清單,檢查設備特性是否在列表裏,選中執行屬性更改

  1. SAP 後勤數據的抽取,使用的增量隊列, 財務數據的抽取,使用的是時間戳, 這句話對不對? 財務數據使用時間戳,就是說不經過增量隊列,數據由業務系統直接到達 BW 系統, 彷佛與實際狀況不符。
    1
    、使用 RSA7 查看增量隊列時,確實能夠看到財務數據源: 0FI_GL_4, 0FI_GL_6,
    2
    、總帳憑證過帳後,當即進行數據抽取, 0FI_GL_4 並不能馬上抽取到數據,而 0FI_GL_6 馬上就能夠抽取到最新數據, 這是怎麼回事呢? 或者我哪裏理解錯了?
  2. SAP 後勤數據的抽取,使用的增量隊列, 財務數據的抽取,使用的是時間戳, 這句話是對的,
    總帳憑證過帳後,當即進 行數據抽取, 0FI_GL_4 並不能馬上抽取到數據,而 0FI_GL_6 馬上就能夠抽取到最新數據, 這是怎麼回事呢? 那是緣由這二個的時間戳的粒度不同,一個是到時分秒的,一個只是到 posting date 的。0FI_GL_10 和 0FI_GL_14 都是爲 new GL 提供的 datasouce.
    0FI_GL_4 和 0FI_GL_6 在 BW 7.x 也都是可用的 。
  3. BW 請求數據,在 R3 端執行對應的 FM 操做,獲取數據,寫入增量隊列 。
  4. 我如今有個問題,對於同一個 Transformation ,其中有個字段,須要針對不一樣的 DTP ,賦予不一樣的值,請問若是處理,謝謝!

1 能夠在表 tvarvc 中建一個變量

2 而後在不一樣的 dtp 中的 transfert routine 裏寫 賦值給上面變量 的 code : 好比 dtp A 執行則賦變量的值 爲 A 若 dtp B 則變量的 值爲 B 。。。。

3 而後在 transformation start routine 中 去讀 變量的值 看是從哪一個 dtp 過來的 ,而後更改處理規則 。

一、  創建一個表;

二、  在 DTP 的過濾條件中寫代碼給表插入一條記錄;

三、  在轉換中去讀取該表中的記錄,並在結束例程中刪除表中記錄。

  1. DSO 用來存儲明細數據,其結構比較簡單 , 對於值的轉換 , 既可使用合計,也可使用覆蓋的方式。因在源端 ,  若是存在相同的 customer 記錄 , 須要合併 , 爲了省事 , 並無寫 abap 代碼 , 直接啓用了合計的方式 , 若是使用合計的方式,能夠用 delta 嗎(最終的 DSO ? 若是能夠 , 該用什麼類型的 delta. 若是不能夠 , 又不想寫代碼 , 如何能實現合計和 delta 的兩種功能 .

肯定你的狀況必需要要用合計 ? 用合計的 kf 通常要謹慎的 肯定你在的 kf 合計出的結果的正確性 ,否則整個 dso 裏的數據都會錯誤。 delta 是 適用的 recordmode 用 after image 便可 .

能夠用 RSA2 查到每一個數據源的 delta 屬性,好比 2lis_03_bf 是 ABR, 這表示這個數據有 after image 、 before image 、 revise image.

不是說 ods 用合計不能作 delta , 而是說 ods 通常用來記錄的是合計每條數據的詳細狀況,若是 ods 裏不作報表 你能夠把 kf 當 charactestic 來理解 ,而在 cube 裏面來合計 是相對於不一樣的 diemension 來合計你的 kf 這樣是爲報表多維分析服務的 。

ods的 delta是把 change log表的變化記錄往上更新 , "合計 "是 key值相同下 ,keyfigure累加的 .

你能夠用 DSO, 可是得用兩層 DSO, 第一層 DSO1 用 Overwrite 方式 , 用來正確獲取 Delta 的 Change log 數據 , 第二層 DSO2 從 DSO1 更新 , 可使用 Sum 方式 .

   

  1. 因爲每隔一段時間須要對 PSA 進行清理, PSA 的數量多,並且每個我只懂用右鍵 -> 管理,而後一條一條地選擇須要刪除的記錄(批量一個時間段的,如 1-3 個月的每日 Delta )。
    請問各位高手,有沒有更好的方法能夠清理
    PSA 的數據。

一、  僅成功登記 / 更新請求 ==== 就是指成功更新到 DSO 或者 CUBE 的數據請求
2 、僅那些未在數據目標中登記的帶有錯誤的請求 ==== 就是出錯了,沒有更新到 DSO 或者 CUBE 的請求
3 、僅刪除裝載請求,不要刪除激活請求( ODSR...)==== 這個應該是說成功裝載可是沒有上傳到 DSO 或者 CUBE 的請求吧。

通常來講,咱們是刪除前 30 天的請求,保留一個月的請求數據便可,這樣作的好處是還能節省一下磁盤空間 。

   

  1. FI 怎麼抽取當天的數據?

FI-AP 、 AR 的設計就是抽取前面一天的數據,所以增量不能抽取到當天的數據。
若是數據量不大的話,建議進行全量抽取,而後在 BW 使用 DSO 進行增量的處理 。

  1. 安全上下限

BW 中,存在兩種數據抽取方式,徹底更新與增量更新,徹底更新是每次把截至到某個時間的數據所有抽取,增量抽取則只抽取上次和本次抽取之間更新的數據,很顯 然,增量抽取可以提升系統效率,根據 SAP 幫助的說法,增量更新又分爲時間戳和增量 隊列兩種方法,其中財務數據的抽取爲時間戳增量法,後勤數據的抽取爲加強隊列法。對於增量更新,都須要先對數據抽取進行初始化,而後再進行增量的抽取。對 於時間戳增量法,系統存在一個延遲時間,即時間戳設置時間與記帳時間的差別,好比時間戳是根據建立時間(或輸入時間)來肯定是否更新的依據,而在抽取開始 時(時間戳已標記),此時憑證已建立而未記帳(即未更新至數據庫),則這次沒法抽取到該憑證,但下次抽取時,因爲已在時間戳範圍以外,也再也不進行抽取,從 而致使抽取數據遺漏,避免此問題, SAP 幫助上給出了經過設置安全抽取時間的方法,設置視圖爲 BWOM2_V_SAFETY ,可根據不一樣的數據源設置不一樣的安全時間,兩個小時爲推薦設置
這個安全時間是對於已經建立但未保存在憑證而言,若是在這個安全時間內保存了,則這次抽取將包含在內 ,

好比你 6小時抽取一次數據,假如你第一次在 12:00抽取,那麼下次應該是 18:00抽取,那麼應該來講 18:00抽取的數據是 12:00-18:00的數據纔對,可是有種狀況須要你考慮,好比我 11:55在作一個憑證,可是中間我去吃飯, 12:30纔回來完成這個憑證,那麼這個憑證就是 11:55建立的,在 12:00抽取的時候,因爲憑證沒有產生,所以沒法抽取,可是下次 18:00抽取的時候,因爲這個憑證是在 11:55建立的,因此也沒法抽取到。
作 BW數據倉庫最重要的一條準則就是 "不重複、不遺漏 ",那麼這樣你就遺漏了數據,那麼 SAP就想了個辦法,就是好比此次我抽取從 06:00-12:00,那麼下次我抽取從 11:30-18:00,這樣上面的憑證就能抽取出來了吧,這時候 11:30-12:00就有半個小時的重複,這個就叫作 Lower Limit。
同上,好比我 12:00抽取的時候,不想抽取 06:00-12:00,而是想抽取 06:00-11:30,那麼我就設置一個 Higher Limit 爲 30分鐘,則抽取的時候就不會到最新的時間,而是須要過帳半小時前的憑證。
比 如我設置了 30分鐘的 Lower Limit, 30分鐘的 Higher Limit,那麼我 12:00抽取的數據應該是 05:00-11:30的數據,下次抽取的數據時 11:00-17:30,在下次就是 17:00-23:30,在下次就是 23:00-05:30,在下次就是 05:00-11:30,如此循環。

可是若是設置了 Lower Limit和 Higher Limit以後,請記得在 BW中使用 DSO來處理數據。

  1. 如何在 query 中把默認的轉換匯率改爲期末匯率 ? query 中默認的匯率轉換類型都是 "M" ,但如今我須要把一個報表的轉換匯率改爲期末匯率,即匯率類型爲 "V".
    該如何解決這個問題
    ?

在 RSCUR 中建立新的貨幣轉換類型就能夠了,不過 3.5 版本中事務代碼爲 rrc1.

  1. 你們都知道從 dso cube 進行增量抽取數據時 , 只有未被抽入 cube 的那部分增量數據纔會進入 cube. 而系統具體是怎麼從 change log 中判斷出那部分增量數據的 ? 具體經過那些表 , 那位給講解一下 .

每次 DSO 數據進行激活更新時,都會在 change log 表產生一個 request ,這個 request 對應此次請求發生改變的全部記錄,若是是新記錄, change log table 中的 recordmode = N, 若是是更改,那麼會產生 2 條記錄,一條 recordmode = X 表明修改前,另一條 recordmode = " " 表示修改後。 往 cube 上 delta 更新的時候,就是靠這些來獲取變化量的,新產生的 request 中的那些記錄。

相關文章
相關標籤/搜索