建模方面
1、建模方式:圖像化建模、SQL建模、CE語言建模?
2、維護:SQL和CE比圖形化建模更容易維護和修改
3、性能:圖形化和CE會經(jīng)過系統(tǒng)優(yōu)化,性能一般優(yōu)于SQL語言
4、可按需要設(shè)置參數(shù)、變量、Hierachy、聚合類型等
5、在S4系統(tǒng)里,HANA?View可配合CDS視圖使用,效果不錯
6、計算視圖節(jié)點有Projection、Join、Union、Rank、Aggregation,其中Rank主要用作按維度排序和取前幾行
7、為減少重復(fù)工作,建模層次應(yīng)該遵循基礎(chǔ)層、轉(zhuǎn)換層、集市層、報表層等類似于BW模型的規(guī)范
8、屬性視圖類似于BW?infoObject的屬性、分析視圖類似于BW DSO、計算視圖類似于BW CUBE
9、建模應(yīng)該考慮性能,影響性能主要有:層次間傳輸?shù)臄?shù)據(jù)量、Join操作、Query?Result、復(fù)合表達式(IF、CASE)和Intermediate results(需要耗費時間寫入緩存)
10、CE語言:CE_COLUMN_TABLE、CE_JOIN_VIEW、CE_OLAP_VIEW、CE_CALC_VIEW、CE_JOIN、CE_PROJECTION、CE_CALC、CE_AGGREGATION、CE_UNION、CE_RANK
11、Input?Parameter用于參數(shù)化或Filter,Variable用于FIlter
SQL和存儲過程方面
1、SQL可CREATE或者DELETE Data?Type、Function、Procedure
2、Procedure屬性READS SQL DATA(只讀)、LANGUAGE(指定語言、默認SQLScript)、WITH RESULT VIEW(可直接在SQL中使用Procedure的輸出參數(shù))
3、可使用SQL EDITOR或者在Content package中創(chuàng)建
4、可使用控制語句:WHILE、FOR、IF、CASE等?
性能優(yōu)化方面
1、盡量在底層Filter數(shù)據(jù)
2、在OLAP和Join?Engine執(zhí)行Join,最好使用Key?Column或者Index?Column進行Join
3、在聚合前,不要進行計算
4、不通的Engine(Join、OLAP、Calculation)之間使用聚合方式減少數(shù)據(jù)傳輸,
5、聚合后執(zhí)行計算、并盡量避免復(fù)合表達式(IF、CASE)
6、使用HAVING、TOP、LIMIT盡量避免輸出結(jié)果數(shù)據(jù)量過大
7、Join應(yīng)該在屬性視圖或者分析視圖執(zhí)行而不是在計算視圖進行
8、Left?Join比Inner?Join更快
9、不要使用CURSOR,因為無法并行執(zhí)行
10、避免使用Casting、mixed script
11、使用Visualize?Plan?可查看HANA執(zhí)行的過程和耗時
12、可在HANA中開啟SQL Trace監(jiān)控和分析SQL執(zhí)行情況
ABAP調(diào)用方面
1、可使用第二數(shù)據(jù)庫連接HANA:
SELECT * INTO FROM TABLE CONNECTION? LV_DBCON_NAME
2、可使用NativeSQL:
EXEC SQL ENDEXEC或者CL_SQL_CONNECTION、CL_SQL_STATEMENT、CL_SQL_RESULT_SET
3、功能代碼下沉到HANA中計算,而不是在ABAP中計算
4、減少數(shù)據(jù)傳輸?shù)綉?yīng)用層
5、使用CDS、AMDP等可在應(yīng)用層開發(fā)
用戶和權(quán)限管理方面
1、權(quán)限分為:OBJECT SQL權(quán)限、Package權(quán)限、System權(quán)限、分析權(quán)限
2、OBJECT SQL權(quán)限:SELECT、UPDATE、DELETE、CALL
3、Package權(quán)限:access packages in the repository
4、System權(quán)限:Create?or?Change Schema、User、Role
5、分析權(quán)限:Row-level Authorization?View
6、分析權(quán)限參考文章:https://www.cnblogs.com/omygod/archive/2013/05/01/3052739.html
7、動態(tài)分析權(quán)限參考文章:https://archive.sap.com/documents/docs/DOC-65734
集成方面
1、集成方式有SLT、SDA、SDI、Data?Service、Vora等
2、和ERP或者Oracle、SQLServer等可以使用SLT
3、和Hadoop集成可以使用SDA、SDI、Vora
4、SDA:虛擬表,SQL直接在對方系統(tǒng)執(zhí)行
5、SDI:實體表,對方系統(tǒng)的表更新實時同步到HANA中
6、Vora:可以讀取,也可以回寫,功能強大
SQL語法方面
1、數(shù)據(jù)類型:DATE(日期) 、TIME(時間) 、SECONDDATE(日期+時間)、 TIMESTAMP(時戳) 、TINYINT、 SMALLINT 、INTEGER 、BIGINT 、DEC(?p,?s)、SMALLDECIMAL 、REAL 、DOUBLE 、FLOAT(?n?)、VARCHAR 、NVARCHAR 、ALPHANUM 、SHORTTEXT 、VARBINARY 、BLOB 、CLOB 、NCLOB 、TEXT
2、謂詞:= 、!=、 >、 <、 <>、 <=、 >=、 BETWEEN、 IN、 EXISTS、 LIKE、 NULL、 CONTRAINS( select?*?from?T?where?CONTAINS(?(column1,column2,column3),?'cats?OR?dogz',?FUZZY(0.7)) )
3、合并操作UNION、UNION ALL、INTERSECT(交集)、EXCEPT(差集)
4、函數(shù):CAST、TO_DATS、TO_INT、TO_VARCHAR、ADD_DAYS、LAST_DAY、DAYS_BETWEEN、CURRENT_UTCTIMESTAMP、NEXT_DAY、NOW、ABS、CEIL、GREATEST、LEAST、LOG、MOD、POWER、ROUND、CONCAT、LEFT、LPAD、LTRIM、REPLACE、UCASE、CURRENT_SCHEMA、NULLIF、SESSION_CONTEXT等
5、正則表達式:LIKE_REGEXPR、SUBSTRING_REGEXPR、OCCURRENCES_REGEXPR、REPLACE_REGEXPR
PAL方面
1、PAL主要用于數(shù)據(jù)預(yù)測與分析、針對大數(shù)據(jù)量
2、PAL函數(shù)主要包括:聚類、分類、關(guān)聯(lián)分析、時間序列分析、統(tǒng)計分析
3、使用步驟:
? ? ?1)生成AFL_WRAPPER_GENERATOR?與?AFL_WRAPPER_ERASER存儲過程
? ? ?2)生成算法的實例,CALL?SYSTEM.AFL_WRAPPER_GENERATOR( '<procedure_name>',? '<area_name>','<function_name>', <signature_table>);
? ? ?3)調(diào)用算法實例? CALL?<procedure_name>
XS方面
1、可根據(jù)View創(chuàng)建OData
2、可創(chuàng)建XSJS服務(wù),UI5應(yīng)用等