這一篇我們會討論到在SAP BW/4HANA的modeling objects以及它們是如何組成成為我們資料分析的一部分。我們會從資料的virtualization layer到 persistency layer。使用過SAP BW的人都知道SAP BW的object型態有很多容易搞亂,而SAP BW/4HANA將其簡化了只有4種型態。
Modeling perspectives
使用過SAP BW的人一定對 Transaction RSA1一定很熟悉,這個transaction會access到SAP BW administrator WorkBench(如下圖),在這邊完成所有Data Modeling的工作。
這是因為modeling的功能在 BW/4HANA這邊已經把這個功能移到以Eclipe-based的HANA Studio工具上了。不過這並不表示transaction RSA1沒有用了,它還是能做modeling以外的其他事,像是 data load control / monitoring / authorization definition / data source maintenance.
使用SAP HANA Studio做modeling第一步我們要先切換到BW Modeling的模式,如果沒有BW project我們就要新建一個BW Project(如下圖)。你會在這個project看到InforArea(一個類似資料夾的結構),裡面都是在建模過程中會用到的。
這是因為modeling的功能在 BW/4HANA這邊已經把這個功能移到以Eclipe-based的HANA Studio工具上了。不過這並不表示transaction RSA1沒有用了,它還是能做modeling以外的其他事,像是 data load control / monitoring / authorization definition / data source maintenance.
使用SAP HANA Studio做modeling第一步我們要先切換到BW Modeling的模式,如果沒有BW project我們就要新建一個BW Project(如下圖)。你會在這個project看到InforArea(一個類似資料夾的結構),裡面都是在建模過程中會用到的。
如果把滑鼠移動到 BW Repository按右鍵的話你會看到這些選項
DataStore Objects (Advanced)
InfoSource
InfoObject
Open ODS View
InfoArea
Semantic Group
CompositeProvide
Open Hub Destination
Data Flow
Modeling Objects
上面我們看到了這些選項(objects)每一種的功能不盡相同。但在此之前我們先來比較一下這些objects與舊版的SAP BW有哪些不同。下圖為SAP HANA/4HANA的objects與它們的modeling purpose
另外我們看一下在SAP BW的objects與它們的modeling purpose(如下圖)
我們可以看到SAP BW/4HANA的objects與modeling purpose比舊版的簡化了很多,下圖中我們可以比較一下從BW objects到BW/4HANA objects的對應
下面我們來一一講述每種的objects
InfoObjects
這在BW and BW/4HANA唯一沒有變的Objects。我們前面提到這在SAP BW or SAP BW/4HANA是最小的單位。它是為了其他的data modeling 所建立的一個blocks.如果你定義出一個InfoObjects set(一個desired information),哪這個InforObject set就可以是 CompositeProvider 或是 Advanced DSO。InfoObjects有四種基本型態:
Characteristic
key figure
unit
XXL
Characteristic是一個contextual elements, key figures代表在data medeling中的metrics,Units是一種標準化的參考在兩種不同單位的數字間做比較,XXL是一個給ABAP會用到的Objects主要是給很長的字串(可以有1,333字元)使用。
這邊舉一個銷售資訊的例子。我們有兩筆銷售紀錄分別是 $1,200,000與 $200,000,就看這兩個數字對銷售資訊有甚麼意義嗎?其實光看這兩個數字根本看不出來,因為這只是兩筆數字我們還沒有賦予它們contexttual information(Characteristic)。然後也不知道這兩筆數字的單位(units)是甚麼,所以我們可以這兩個數字 1,200,000是美元,200,000是歐元。這時我們就有了比較的基礎,以匯率來換算1,200,000美元大於200,000歐元。但這只是兩個貨幣的比對,對整個銷售資訊來說還是看不出甚麼。如果這時我們可以加入時間性的characteristic,如果以月分來分我們說1,200,000美元是一整年度的銷售金額平均每個月是10萬美元,而200萬歐元是單一個月的銷售金額。這時如果我們再加入更多的characteristic,例如銷售的客戶ID,產品項目,銷售區域等等。我們就可以對銷售資料看到更多的資訊。這些資料資間所交集出來的資訊我們稱為InfoProviders。InfoProvider是經過分析的流程後所產生出代表一群不同資料型態InfoObjects。
Characteristics
Characteristic InfoObjects 是一個 contextual elements,是為了賦予資料的metric有意義的(如上面所提的例子)。Characteristic在BW/4HANA中可以基於ABAP dictionary的5種資料型態,分別是
1.CHAR--文字字串
2.NUMC--數字型的文字
3.SNUMC--Signed numerical characteristics
4.DATS--日期(格式YYYYMMDD)
5.TIMS — 時間(格式HHMMSS)
上面說的這些都可以在HANA studio的InfoObjects type中看到(如下圖)
當ABAP程式使用這些table data時,系統會根據ABAP資料類型轉換成其內容的內部格式以供資料視覺化時使用。以下圖表描述這5種資料型態的output template與字元長度限制
在我們定義完InfoObjects的data type之後,下一步我們就要針對該InfoObjects決定它的general properties。在HANA studio的介面中(General tab),我們會看到如下圖的幾種的property(與其定義)
SAP BW/4HANA characteristic InfoObjects 可以是簡單的 fields或是複雜的master data objects,這一切都基於整個entity-relationship models。簡單的field可能是郵遞區號或街道的號碼,這些簡單的characteristic組成客戶的地址。然後可能根據這些簡單的characteristics當作成是主要的特徵客戶的attributes。底下我們根據客戶的attributes跟characteristic 製作成一個entitity-relationship model
SAP BW/4HANA InfoObject characteristics除了當成attribute之外,我們也可以把它設定成texts或是hierarchy tables。 Texts可以針對一些key values做一些文字性描述,而Hierarchies是一個根據characteristics的key values產生的樹狀結構,通常用於報告中的匯總和分類目的。
所以characteristic InfoObject的Attributes/texts/hierarchies在我們定義InfoObjects時可以對應到Master Data/Texts/Hierarchies properties(如下圖)
另外在Mater Data/Texts tab(如下圖),我們可以對Texts table key設定複合性的參數,允許multilanguage descriptions and time validity。要做到這兩點就要分別選取Language-Dependent與Time-Dependent。
上圖我們可以看到三種Text的長度 Short/Medium/Long,它們的字元長度最長分別是20/40/60-1333。而要達到1333的字元就要選取Long Text Is Extra Long,而這種的data type會是 SSTRING。
另外在Hierarchies tab(如下圖)可以設定dependency(Version and time)。如果是version它會apply到整個structure,如果是Time則可以選擇你是要apply到整個structure level 或是 header level。